mirror of https://github.com/leiurayer/downkyi
parent
15c31ee6b8
commit
eb274f82b9
@ -0,0 +1,153 @@
|
||||
<UserControl
|
||||
x:Class="DownKyi.Views.Friends.ViewFollower"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:converter="clr-namespace:DownKyi.Converter"
|
||||
xmlns:custom="clr-namespace:DownKyi.CustomControl"
|
||||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||||
xmlns:prism="http://prismlibrary.com/"
|
||||
prism:ViewModelLocator.AutoWireViewModel="True">
|
||||
<UserControl.Resources>
|
||||
<Style x:Key="ContentListStyle" TargetType="{x:Type ListBoxItem}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ListBoxItem}">
|
||||
<Grid
|
||||
Name="nameUserPanel"
|
||||
Width="400"
|
||||
Height="80"
|
||||
Margin="15,15,10,5"
|
||||
Cursor="Hand">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="80" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="MouseLeftButtonUp">
|
||||
<i:InvokeCommandAction Command="{Binding UserCommand}" CommandParameter="{Binding DataContext.PageName, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
|
||||
<Image
|
||||
Grid.Column="0"
|
||||
Width="64"
|
||||
Height="64"
|
||||
Source="{Binding Header}">
|
||||
<Image.Clip>
|
||||
<EllipseGeometry
|
||||
Center="32,32"
|
||||
RadiusX="32"
|
||||
RadiusY="32" />
|
||||
</Image.Clip>
|
||||
</Image>
|
||||
|
||||
<Grid Grid.Column="1">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource BrushTextDark}"
|
||||
Text="{Binding Name}"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
FontSize="12"
|
||||
Foreground="{DynamicResource BrushTextGrey2}"
|
||||
Text="{Binding Sign}"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
TextWrapping="WrapWithOverflow"
|
||||
ToolTip="{Binding Sign}" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid>
|
||||
<Grid Grid.Column="1" Visibility="{Binding ContentVisibility}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="50" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<ListBox
|
||||
x:Name="nameContents"
|
||||
Grid.Row="0"
|
||||
BorderThickness="0"
|
||||
ItemContainerStyle="{StaticResource ContentListStyle}"
|
||||
ItemsSource="{Binding Contents}"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectionChanged">
|
||||
<i:InvokeCommandAction Command="{Binding ContentsCommand}" CommandParameter="{Binding ElementName=nameContents, Path=SelectedItems}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel IsItemsHost="True" />
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.Style>
|
||||
<Style TargetType="ListBox">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="ListBox">
|
||||
<Border
|
||||
x:Name="Bd"
|
||||
Padding="0"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<ScrollViewer Focusable="False">
|
||||
<ItemsPresenter />
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ListBox.Style>
|
||||
</ListBox>
|
||||
|
||||
<custom:CustomPager
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
DataContext="{Binding Pager}" />
|
||||
</Grid>
|
||||
|
||||
<!-- 加载gif -->
|
||||
<StackPanel
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Vertical"
|
||||
Visibility="{Binding LoadingVisibility}">
|
||||
<ContentControl
|
||||
Width="40"
|
||||
Height="40"
|
||||
Content="{Binding Loading}" />
|
||||
<TextBlock
|
||||
Margin="0,10,0,0"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource BrushTextDark}"
|
||||
Text="{DynamicResource FollowerWait}" />
|
||||
</StackPanel>
|
||||
|
||||
<!-- 没有数据提示 -->
|
||||
<Image
|
||||
Width="256"
|
||||
Height="256"
|
||||
Source="/DownKyi;component/Resources/no-data.png"
|
||||
Visibility="{Binding NoDataVisibility}" />
|
||||
</Grid>
|
||||
</UserControl>
|
@ -0,0 +1,226 @@
|
||||
<UserControl
|
||||
x:Class="DownKyi.Views.Friends.ViewFollowing"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:converter="clr-namespace:DownKyi.Converter"
|
||||
xmlns:custom="clr-namespace:DownKyi.CustomControl"
|
||||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||||
xmlns:prism="http://prismlibrary.com/"
|
||||
prism:ViewModelLocator.AutoWireViewModel="True">
|
||||
<UserControl.Resources>
|
||||
<converter:CountConverter x:Key="CountConverter" Count="1" />
|
||||
|
||||
<Style x:Key="ContentListStyle" TargetType="{x:Type ListBoxItem}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ListBoxItem}">
|
||||
<Grid
|
||||
Name="nameUserPanel"
|
||||
Width="400"
|
||||
Height="80"
|
||||
Margin="15,15,10,5"
|
||||
Cursor="Hand">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="80" />
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="MouseLeftButtonUp">
|
||||
<i:InvokeCommandAction Command="{Binding UserCommand}" CommandParameter="{Binding DataContext.PageName, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
|
||||
<Image
|
||||
Grid.Column="0"
|
||||
Width="64"
|
||||
Height="64"
|
||||
Source="{Binding Header}">
|
||||
<Image.Clip>
|
||||
<EllipseGeometry
|
||||
Center="32,32"
|
||||
RadiusX="32"
|
||||
RadiusY="32" />
|
||||
</Image.Clip>
|
||||
</Image>
|
||||
|
||||
<Grid Grid.Column="1">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="40" />
|
||||
<RowDefinition />
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock
|
||||
Grid.Row="0"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource BrushTextDark}"
|
||||
Text="{Binding Name}"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
TextWrapping="WrapWithOverflow" />
|
||||
<TextBlock
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
FontSize="12"
|
||||
Foreground="{DynamicResource BrushTextGrey2}"
|
||||
Text="{Binding Sign}"
|
||||
TextTrimming="CharacterEllipsis"
|
||||
TextWrapping="WrapWithOverflow"
|
||||
ToolTip="{Binding Sign}" />
|
||||
</Grid>
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</UserControl.Resources>
|
||||
|
||||
<Grid>
|
||||
<Grid Visibility="{Binding ContentVisibility}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition>
|
||||
<ColumnDefinition.Style>
|
||||
<Style TargetType="ColumnDefinition">
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding TabHeaders}" Value="{x:Null}">
|
||||
<Setter Property="Width" Value="0" />
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding TabHeaders.Count}" Value="0">
|
||||
<Setter Property="Width" Value="0" />
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding TabHeaders.Count}" Value="1">
|
||||
<Setter Property="Width" Value="0" />
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding TabHeaders.Count, Converter={StaticResource CountConverter}}" Value="true">
|
||||
<Setter Property="Width" Value="200" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</ColumnDefinition.Style>
|
||||
</ColumnDefinition>
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!-- 左侧tab header -->
|
||||
<ListBox
|
||||
Name="nameLeftTabHeaders"
|
||||
Grid.Column="0"
|
||||
BorderThickness="0"
|
||||
IsEnabled="{Binding IsEnabled}"
|
||||
ItemContainerStyle="{StaticResource LeftTabHeaderItemStyle}"
|
||||
ItemsSource="{Binding TabHeaders}"
|
||||
SelectedIndex="{Binding SelectTabId}"
|
||||
Style="{StaticResource LeftTabHeaderStyle}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectionChanged">
|
||||
<i:InvokeCommandAction Command="{Binding LeftTabHeadersCommand}" CommandParameter="{Binding ElementName=nameLeftTabHeaders, Path=SelectedItem}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
</ListBox>
|
||||
|
||||
<!-- 右侧内容区 -->
|
||||
<Grid Grid.Column="1" Visibility="{Binding InnerContentVisibility}">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition />
|
||||
<RowDefinition Height="50" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<ListBox
|
||||
x:Name="nameContents"
|
||||
Grid.Row="0"
|
||||
BorderThickness="0"
|
||||
ItemContainerStyle="{StaticResource ContentListStyle}"
|
||||
ItemsSource="{Binding Contents}"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectionChanged">
|
||||
<i:InvokeCommandAction Command="{Binding ContentsCommand}" CommandParameter="{Binding ElementName=nameContents, Path=SelectedItems}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<WrapPanel IsItemsHost="True" />
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.Style>
|
||||
<Style TargetType="ListBox">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="ListBox">
|
||||
<Border
|
||||
x:Name="Bd"
|
||||
Padding="0"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<ScrollViewer Focusable="False">
|
||||
<ItemsPresenter />
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ListBox.Style>
|
||||
</ListBox>
|
||||
|
||||
<custom:CustomPager
|
||||
Grid.Row="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
DataContext="{Binding Pager}" />
|
||||
</Grid>
|
||||
|
||||
<!-- 加载gif -->
|
||||
<StackPanel
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Vertical"
|
||||
Visibility="{Binding ContentLoadingVisibility}">
|
||||
<ContentControl
|
||||
Width="40"
|
||||
Height="40"
|
||||
Content="{Binding ContentLoading}" />
|
||||
<TextBlock
|
||||
Margin="0,10,0,0"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource BrushTextDark}"
|
||||
Text="{DynamicResource FollowingWait}" />
|
||||
</StackPanel>
|
||||
|
||||
<!-- 没有数据提示 -->
|
||||
<Image
|
||||
Grid.Column="1"
|
||||
Width="256"
|
||||
Height="256"
|
||||
Source="/DownKyi;component/Resources/no-data.png"
|
||||
Visibility="{Binding ContentNoDataVisibility}" />
|
||||
</Grid>
|
||||
|
||||
<!-- 加载gif -->
|
||||
<StackPanel
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Vertical"
|
||||
Visibility="{Binding LoadingVisibility}">
|
||||
<ContentControl
|
||||
Width="40"
|
||||
Height="40"
|
||||
Content="{Binding Loading}" />
|
||||
<TextBlock
|
||||
Margin="0,10,0,0"
|
||||
FontSize="14"
|
||||
Foreground="{DynamicResource BrushTextDark}"
|
||||
Text="{DynamicResource FollowingWait}" />
|
||||
</StackPanel>
|
||||
|
||||
<!-- 没有数据提示 -->
|
||||
<Image
|
||||
Width="256"
|
||||
Height="256"
|
||||
Source="/DownKyi;component/Resources/no-data.png"
|
||||
Visibility="{Binding NoDataVisibility}" />
|
||||
|
||||
</Grid>
|
||||
</UserControl>
|
@ -0,0 +1,138 @@
|
||||
<UserControl
|
||||
x:Class="DownKyi.Views.ViewFriends"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:custom="clr-namespace:DownKyi.CustomControl"
|
||||
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
||||
xmlns:prism="http://prismlibrary.com/"
|
||||
prism:ViewModelLocator.AutoWireViewModel="True">
|
||||
<UserControl.Resources />
|
||||
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="50" />
|
||||
<RowDefinition Height="1" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Grid Grid.Row="0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="100" />
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="100" />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Button
|
||||
Grid.Column="0"
|
||||
Margin="10,5,0,5"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Center"
|
||||
Command="{Binding BackSpaceCommand}"
|
||||
Style="{StaticResource ImageBtnStyle}">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<ContentControl Width="24" Height="24">
|
||||
<Path
|
||||
Width="{Binding ArrowBack.Width}"
|
||||
Height="{Binding ArrowBack.Height}"
|
||||
Data="{Binding ArrowBack.Data}"
|
||||
Fill="{Binding ArrowBack.Fill}"
|
||||
Stretch="None" />
|
||||
</ContentControl>
|
||||
<TextBlock
|
||||
VerticalAlignment="Center"
|
||||
FontSize="16"
|
||||
Foreground="{DynamicResource BrushTextDark}"
|
||||
Text="{DynamicResource Friend}" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
|
||||
<!-- 顶部Tab -->
|
||||
<ListBox
|
||||
Name="nameTabHeaders"
|
||||
Grid.Column="1"
|
||||
BorderThickness="0"
|
||||
ItemsSource="{Binding TabHeaders}"
|
||||
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
|
||||
ScrollViewer.VerticalScrollBarVisibility="Disabled"
|
||||
SelectedIndex="{Binding SelectTabId, Mode=TwoWay}">
|
||||
<i:Interaction.Triggers>
|
||||
<i:EventTrigger EventName="SelectionChanged">
|
||||
<i:InvokeCommandAction Command="{Binding TabHeadersCommand}" CommandParameter="{Binding ElementName=nameTabHeaders, Path=SelectedItem}" />
|
||||
</i:EventTrigger>
|
||||
</i:Interaction.Triggers>
|
||||
<ListBox.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Orientation="Horizontal" />
|
||||
</ItemsPanelTemplate>
|
||||
</ListBox.ItemsPanel>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type ListBoxItem}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ListBoxItem}">
|
||||
<StackPanel
|
||||
x:Name="panel"
|
||||
Margin="10,0"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Cursor="Hand">
|
||||
<TextBlock
|
||||
Name="nameText"
|
||||
Padding="0,0,0,3"
|
||||
Text="{Binding Title}" />
|
||||
<TextBlock Name="nameIndicator" Height="1.5" />
|
||||
</StackPanel>
|
||||
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="Selector.IsSelected" Value="False">
|
||||
<Setter TargetName="nameText" Property="Foreground" Value="{DynamicResource BrushTextDark}" />
|
||||
<Setter TargetName="nameIndicator" Property="Visibility" Value="Hidden" />
|
||||
<Setter TargetName="nameIndicator" Property="Background" Value="{DynamicResource BrushTextDark}" />
|
||||
</Trigger>
|
||||
<Trigger Property="IsMouseOver" Value="True">
|
||||
<Setter TargetName="nameText" Property="Foreground" Value="{DynamicResource BrushPrimary}" />
|
||||
</Trigger>
|
||||
<Trigger Property="Selector.IsSelected" Value="True">
|
||||
<Setter TargetName="nameText" Property="Foreground" Value="{DynamicResource BrushPrimary}" />
|
||||
<Setter TargetName="nameIndicator" Property="Visibility" Value="Visible" />
|
||||
<Setter TargetName="nameIndicator" Property="Background" Value="{DynamicResource BrushPrimary}" />
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
<ListBox.Style>
|
||||
<Style TargetType="ListBox">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="ListBox">
|
||||
<Border
|
||||
x:Name="Bd"
|
||||
Padding="0"
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<ScrollViewer Focusable="False">
|
||||
<ItemsPresenter />
|
||||
</ScrollViewer>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ListBox.Style>
|
||||
</ListBox>
|
||||
</Grid>
|
||||
|
||||
<TextBlock Grid.Row="1" Background="{DynamicResource BrushBorder}" />
|
||||
|
||||
<!-- 内容区 -->
|
||||
<ContentControl Grid.Row="2" prism:RegionManager.RegionName="FriendContentRegion" />
|
||||
|
||||
</Grid>
|
||||
</UserControl>
|
Loading…
Reference in new issue