TodoControl.xaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <UserControl x:Class="GeekDesk.Control.UserControls.Backlog.TodoControl"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:GeekDesk.Control.UserControls.PannelCard"
  7. xmlns:hc="https://handyorg.github.io/handycontrol" xmlns:viewmodel="clr-namespace:GeekDesk.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:ToDoInfo}"
  8. mc:Ignorable="d"
  9. Background="Transparent"
  10. >
  11. <UserControl.Resources>
  12. <!--<cst:Count2VisibleConvert x:Key="Count2VisibleConvert"/>
  13. <cst:CountGreZero2BoolConvert x:Key="CountGreZero2BoolConvert"/>
  14. <Style x:Key="NoDataStyle" TargetType="TextBlock">
  15. <Style.Triggers>
  16. <DataTrigger Binding="{Binding ElementName=BacklogList, Path=Items.Count, Converter={StaticResource CountGreZero2BoolConvert}}" Value="False">
  17. <Setter Property="Visibility" Value="Visible"/>
  18. </DataTrigger>
  19. <DataTrigger Binding="{Binding ElementName=BacklogList, Path=Items.Count, Converter={StaticResource CountGreZero2BoolConvert}}" Value="True">
  20. <Setter Property="Visibility" Value="Collapsed"/>
  21. </DataTrigger>
  22. </Style.Triggers>
  23. </Style>
  24. <Style x:Key="ToDoStyle" TargetType="DataGrid">
  25. <Style.Triggers>
  26. <DataTrigger Binding="{Binding ElementName=BacklogList, Path=Items.Count, Converter={StaticResource CountGreZero2BoolConvert}}" Value="True">
  27. <Setter Property="Visibility" Value="Visible"/>
  28. </DataTrigger>
  29. <DataTrigger Binding="{Binding ElementName=BacklogList, Path=Items.Count, Converter={StaticResource CountGreZero2BoolConvert}}" Value="False">
  30. <Setter Property="Visibility" Value="Collapsed"/>
  31. </DataTrigger>
  32. </Style.Triggers>
  33. </Style>-->
  34. </UserControl.Resources>
  35. <hc:SimplePanel Margin="20" Background="Transparent">
  36. <Grid Background="Transparent">
  37. <TextBlock x:Name="IsNewToDo" Visibility="Collapsed" />
  38. <TextBlock x:Name="NoData"
  39. VerticalAlignment="Center"
  40. HorizontalAlignment="Center"
  41. TextAlignment="Center"
  42. Text="暂无数据!"
  43. />
  44. <DataGrid x:Name="BacklogList"
  45. HeadersVisibility="All"
  46. AutoGenerateColumns="False"
  47. ItemsSource="{Binding}"
  48. IsReadOnly="True"
  49. Initialized="DataGridMenu_Initialized"
  50. >
  51. <DataGrid.ContextMenu>
  52. <ContextMenu x:Name="Menu" Width="120">
  53. <MenuItem Header="详情" Click="DetailMenu_Click"/>
  54. <MenuItem Header="删除" Click="DeleteMenu_Click"/>
  55. </ContextMenu>
  56. </DataGrid.ContextMenu>
  57. <!--<DataGrid.RowStyle>
  58. <Style TargetType="DataGridRow" BasedOn="{StaticResource DataGridRowStyle}">
  59. <EventSetter Event="MouseRightButtonDown" Handler="DataGridRow_MouseRightButtonDown" />
  60. <Setter Property="Background" Value="White"/>
  61. <Style.Triggers>
  62. <Trigger Property="IsSelected" Value="True">
  63. <Setter Property="Background" Value="{StaticResource BtnBG}"/>
  64. </Trigger>
  65. <Trigger Property="IsSelected" Value="False">
  66. <Setter Property="Background" Value="White"/>
  67. </Trigger>
  68. </Style.Triggers>
  69. </Style>
  70. </DataGrid.RowStyle>-->
  71. <DataGrid.RowStyle>
  72. <Style TargetType="{x:Type DataGridRow}">
  73. <Style.Setters>
  74. <Setter Property="SnapsToDevicePixels" Value="true"/>
  75. <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
  76. <Setter Property="FocusVisualStyle" Value="{x:Null}" />
  77. <Setter Property="Template">
  78. <Setter.Value>
  79. <ControlTemplate TargetType="{x:Type DataGridRow}">
  80. <Border CornerRadius="8" MouseRightButtonDown="DataGridRow_MouseRightButtonDown" Margin="0,0,0,5" BorderBrush="Black" BorderThickness="0" SnapsToDevicePixels="True">
  81. <Border.Style>
  82. <Style TargetType="Border">
  83. <Setter Property="FocusVisualStyle" Value="{x:Null}" />
  84. <Setter Property="Background">
  85. <Setter.Value>
  86. <SolidColorBrush Color="White" Opacity="0.6"/>
  87. </Setter.Value>
  88. </Setter>
  89. <Style.Triggers>
  90. <Trigger Property="IsMouseOver" Value="True">
  91. <Trigger.EnterActions>
  92. <BeginStoryboard>
  93. <Storyboard Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Opacity)">
  94. <DoubleAnimation To="1" Duration="0:0:0"/>
  95. </Storyboard>
  96. </BeginStoryboard>
  97. </Trigger.EnterActions>
  98. <Trigger.ExitActions>
  99. <BeginStoryboard>
  100. <Storyboard Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Opacity)">
  101. <DoubleAnimation To="0.6" Duration="0:0:0.5"/>
  102. </Storyboard>
  103. </BeginStoryboard>
  104. </Trigger.ExitActions>
  105. </Trigger>
  106. <Trigger Property="IsMouseOver" Value="False">
  107. </Trigger>
  108. </Style.Triggers>
  109. </Style>
  110. </Border.Style>
  111. <SelectiveScrollingGrid>
  112. <SelectiveScrollingGrid.ColumnDefinitions>
  113. <ColumnDefinition Width="Auto"/>
  114. <ColumnDefinition Width="*"/>
  115. </SelectiveScrollingGrid.ColumnDefinitions>
  116. <SelectiveScrollingGrid.RowDefinitions>
  117. <RowDefinition Height="*"/>
  118. <RowDefinition Height="Auto"/>
  119. </SelectiveScrollingGrid.RowDefinitions>
  120. <DataGridCellsPresenter Grid.Column="1" ItemsPanel="{TemplateBinding ItemsPanel}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
  121. <Path Name="Cross" Grid.ColumnSpan="2" Visibility="Collapsed" Margin="10,0,10,0" Data="M0,0.5 L1,0.5" Stretch="Fill" Stroke="Gray" StrokeThickness="1" Opacity="0.5" />
  122. </SelectiveScrollingGrid>
  123. </Border>
  124. <ControlTemplate.Triggers>
  125. <DataTrigger Binding="{Binding ElementName=IsNewToDo, Path=Text}" Value="N">
  126. <Setter TargetName="Cross" Property="Visibility" Value="Visible"/>
  127. </DataTrigger>
  128. <DataTrigger Binding="{Binding ElementName=IsNewToDo, Path=Text}" Value="Y">
  129. <Setter TargetName="Cross" Property="Visibility" Value="Collapsed"/>
  130. </DataTrigger>
  131. </ControlTemplate.Triggers>
  132. </ControlTemplate>
  133. </Setter.Value>
  134. </Setter>
  135. </Style.Setters>
  136. <Style.Triggers>
  137. <Trigger Property="IsMouseOver" Value="True">
  138. <Setter Property="Background" Value="#E5E5E2" />
  139. </Trigger>
  140. </Style.Triggers>
  141. </Style>
  142. </DataGrid.RowStyle>
  143. <DataGrid.CellStyle>
  144. <Style TargetType="DataGridCell" BasedOn="{StaticResource DataGridCellStyle}">
  145. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  146. <Setter Property="Background" Value="Transparent"/>
  147. <Style.Triggers>
  148. <Trigger Property="IsSelected" Value="True">
  149. <Setter Property="Background" Value="Transparent"/>
  150. <Setter Property="Foreground" Value="Black"/>
  151. </Trigger>
  152. </Style.Triggers>
  153. </Style>
  154. </DataGrid.CellStyle>
  155. <DataGrid.ColumnHeaderStyle>
  156. <Style TargetType="DataGridColumnHeader" BasedOn="{StaticResource DataGridColumnHeaderStyle}">
  157. <Setter Property="HorizontalContentAlignment" Value="Center"/>
  158. </Style>
  159. </DataGrid.ColumnHeaderStyle>
  160. <DataGrid.Background>
  161. <SolidColorBrush Color="Transparent"/>
  162. </DataGrid.Background>
  163. <DataGrid.Columns>
  164. <DataGridTextColumn Width="120" Binding="{Binding Title}" Header="待办任务"/>
  165. <DataGridTextColumn Width="210" Binding="{Binding Msg}" Header="待办详情"/>
  166. <DataGridTextColumn Width="147" Binding="{Binding ExeTime}" Header="待办时间"/>
  167. <DataGridTextColumn Width="147" Binding="{Binding DoneTime}" Header="完成时间"/>
  168. </DataGrid.Columns>
  169. </DataGrid>
  170. <StackPanel hc:Growl.GrowlParent="True" hc:Growl.Token="DeleteConfirm" VerticalAlignment="Center" Margin="0,10,10,50"/>
  171. </Grid>
  172. </hc:SimplePanel>
  173. </UserControl>