ShakerSelectView.xaml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <UserControl
  2. x:Class="ShakerManger.View.ShakerSelectView"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:ShakerManger.View"
  7. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  8. xmlns:vm="clr-namespace:ShakerManger.ViewModel"
  9. Width="200"
  10. Height="320"
  11. d:DataContext="{d:DesignInstance {x:Type vm:ShakersViewModel}}"
  12. d:DesignHeight="450"
  13. d:DesignWidth="800"
  14. mc:Ignorable="d">
  15. <Border
  16. Background="{StaticResource SystemItemsSelectBackColor}"
  17. BorderBrush="{StaticResource BorderBrush}"
  18. BorderThickness="1"
  19. CornerRadius="6">
  20. <Grid>
  21. <Grid.RowDefinitions>
  22. <RowDefinition Height="46" />
  23. <RowDefinition Height="*" />
  24. </Grid.RowDefinitions>
  25. <Border Background="{StaticResource TitleBackColor}" CornerRadius="6,6,0,0">
  26. <TextBlock
  27. HorizontalAlignment="Center"
  28. VerticalAlignment="Center"
  29. FontSize="18"
  30. Foreground="White"
  31. Text="振动台选择" />
  32. </Border>
  33. <ListView
  34. Grid.Row="1"
  35. Margin="0,10,0,0"
  36. VerticalAlignment="Top"
  37. ItemsSource="{Binding ShakerSelectInfos}"
  38. SelectedItem="{Binding SelectedInfo}">
  39. <ListView.Style>
  40. <Style TargetType="ListView" BasedOn="{x:Null}">
  41. <Setter Property="Background" Value="Transparent" />
  42. <Setter Property="BorderBrush" Value="Transparent" />
  43. <Setter Property="VerticalContentAlignment" Value="Stretch" />
  44. <Setter Property="Padding" Value="0" />
  45. <Setter Property="Template">
  46. <Setter.Value>
  47. <ControlTemplate TargetType="ListView">
  48. <ScrollViewer
  49. HorizontalScrollBarVisibility="Hidden"
  50. SnapsToDevicePixels="True"
  51. VerticalScrollBarVisibility="Auto">
  52. <ItemsPresenter Margin="0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
  53. </ScrollViewer>
  54. </ControlTemplate>
  55. </Setter.Value>
  56. </Setter>
  57. <Setter Property="ItemTemplate">
  58. <Setter.Value>
  59. <DataTemplate>
  60. <Border
  61. x:Name="border"
  62. BorderBrush="BlueViolet"
  63. BorderThickness="0">
  64. <TextBlock
  65. Margin="20,0,0,0"
  66. VerticalAlignment="Center"
  67. FontSize="14"
  68. Foreground="White"
  69. IsEnabled="{Binding IsEnble}"
  70. Text="{Binding Name}" />
  71. </Border>
  72. <DataTemplate.Triggers>
  73. <Trigger Property="IsMouseOver" Value="True">
  74. <Setter TargetName="border" Property="BorderThickness" Value="1" />
  75. </Trigger>
  76. <DataTrigger Binding="{Binding Path=IsEnble}" Value="False">
  77. <Setter TargetName="border" Property="OpacityMask" Value="#8FAAAAAA" />
  78. </DataTrigger>
  79. </DataTemplate.Triggers>
  80. </DataTemplate>
  81. </Setter.Value>
  82. </Setter>
  83. <Setter Property="ItemContainerStyle">
  84. <Setter.Value>
  85. <Style TargetType="ListViewItem">
  86. <Setter Property="Height" Value="46" />
  87. <Setter Property="Background" Value="Transparent" />
  88. <Setter Property="BorderBrush" Value="Transparent" />
  89. <Setter Property="BorderThickness" Value="0" />
  90. <Setter Property="SnapsToDevicePixels" Value="True" />
  91. <Setter Property="OverridesDefaultStyle" Value="True" />
  92. <Setter Property="Cursor" Value="Hand" />
  93. <Setter Property="IsEnabled" Value="{Binding IsEnble}" />
  94. <Setter Property="Padding" Value="0" />
  95. <Setter Property="Template">
  96. <Setter.Value>
  97. <ControlTemplate TargetType="ListViewItem">
  98. <ContentPresenter
  99. Margin="0"
  100. Content="{TemplateBinding Content}"
  101. ContentStringFormat="{TemplateBinding ContentStringFormat}"
  102. ContentTemplate="{TemplateBinding ContentTemplate}"
  103. ContentTemplateSelector="{x:Null}" />
  104. </ControlTemplate>
  105. </Setter.Value>
  106. </Setter>
  107. </Style>
  108. </Setter.Value>
  109. </Setter>
  110. <Setter Property="ItemsPanel">
  111. <Setter.Value>
  112. <ItemsPanelTemplate>
  113. <UniformGrid
  114. Margin="0"
  115. Columns="1"
  116. Style="{x:Null}" />
  117. </ItemsPanelTemplate>
  118. </Setter.Value>
  119. </Setter>
  120. </Style>
  121. </ListView.Style>
  122. </ListView>
  123. </Grid>
  124. </Border>
  125. </UserControl>