CheckBoxProperty.xaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. <UserControl x:Class="PDF_Master.Views.Form.CheckBoxProperty"
  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:PDF_Master.Views.Form"
  7. xmlns:prism="http://prismlibrary.com/"
  8. prism:ViewModelLocator.AutoWireViewModel="True"
  9. xmlns:CompositeControl="clr-namespace:PDF_Master.CustomControl.CompositeControl"
  10. xmlns:convert="clr-namespace:PDF_Master.DataConvert"
  11. xmlns:form="clr-namespace:PDF_Master.CustomControl.Form"
  12. xmlns:cus="clr-namespace:PDF_Master.CustomControl"
  13. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  14. mc:Ignorable="d"
  15. d:DesignHeight="450" d:DesignWidth="800">
  16. <UserControl.Resources>
  17. <ResourceDictionary>
  18. <ResourceDictionary.MergedDictionaries>
  19. <ResourceDictionary Source="../../Styles/ListViewStyle.xaml" />
  20. <ResourceDictionary Source="../../Styles/SliderStyle.xaml"/>
  21. </ResourceDictionary.MergedDictionaries>
  22. <convert:InvertBoolConvert x:Key="InvertBoolConvert" />
  23. <Style TargetType="{x:Type TabItem}">
  24. <Setter Property="Width" Value="74.67 " />
  25. <Setter Property="Height" Value="28" />
  26. <Setter Property="BorderThickness" Value="0" />
  27. <Setter Property="Template" Value="{DynamicResource Segmented}" />
  28. </Style>
  29. <Style TargetType="{x:Type Path}">
  30. <Setter Property="Width" Value="16" />
  31. <Setter Property="Height" Value="16" />
  32. <Setter Property="Fill" Value="{StaticResource color.icon.base.neutral.norm.lv1}" />
  33. </Style>
  34. <DataTemplate x:Key="ContentColorTemplate">
  35. <Grid Width="84" Height="24">
  36. <Rectangle Stroke="Red" StrokeThickness="1"/>
  37. <TextBlock Text="Text"/>
  38. </Grid>
  39. </DataTemplate>
  40. <ContextMenu x:Key="ColorBtnFlyoutMenu" FontSize="14">
  41. <ContextMenu.ItemContainerStyle>
  42. <Style TargetType="MenuItem">
  43. <Setter Property="Padding" Value="0,7,0,7" />
  44. <Setter Property="VerticalContentAlignment" Value="Center" />
  45. </Style>
  46. </ContextMenu.ItemContainerStyle>
  47. <MenuItem
  48. Name="EditMenuItem"
  49. Click="EditMenuItem_Click"
  50. Header="Edit"
  51. IsEnabled="True" />
  52. </ContextMenu>
  53. </ResourceDictionary>
  54. </UserControl.Resources>
  55. <Grid ScrollViewer.VerticalScrollBarVisibility="Auto">
  56. <Grid.RowDefinitions>
  57. <RowDefinition Height="auto" />
  58. <RowDefinition Height="*" />
  59. <RowDefinition Height="auto" />
  60. </Grid.RowDefinitions>
  61. <TextBlock
  62. Margin="16,14"
  63. FontFamily="Segoe UI"
  64. FontSize="14"
  65. FontWeight="SemiBold"
  66. Text="ChekcBox" />
  67. <TabControl
  68. Grid.Row="1"
  69. Margin="16,0"
  70. Padding="0"
  71. Background="Transparent"
  72. BorderThickness="0"
  73. Style="{DynamicResource FormTabControl}">
  74. <TabItem>
  75. <TabItem.Header>
  76. <Path Data="M8.33337 2.75704L3.19495 4.5L8.33337 6.24296L9.93268 5.70047L10.7558 5.42127L11.2376 6.84178L10.4145 7.12098L8.76831 7.67937C8.49068 7.77354 8.17606 7.77354 7.89843 7.67937L1.31361 5.44579C0.999461 5.33923 0.583374 5.03874 0.583374 4.5C0.583374 3.96126 0.999461 3.66077 1.31361 3.55421L7.89843 1.32063C8.17606 1.22646 8.49068 1.22646 8.76831 1.32063L15.3531 3.55421C15.6673 3.66077 16.0834 3.96126 16.0834 4.5C16.0834 5.03874 15.6673 5.33923 15.3531 5.44579L14.53 5.72499L13.7069 6.00419L13.2251 4.58368L13.4718 4.5L8.33337 2.75704ZM8.33337 9.74993L15.1244 7.7797L15.5423 9.2203L8.7427 11.193C8.48085 11.269 8.1859 11.269 7.92405 11.193L1.1244 9.2203L1.54235 7.7797L8.33337 9.74993ZM15.1244 11.2797L8.33337 13.2499L1.54235 11.2797L1.1244 12.7203L7.92405 14.693C8.1859 14.769 8.48085 14.769 8.7427 14.693L15.5423 12.7203L15.1244 11.2797Z" Fill="{StaticResource color.light.gray.11}" />
  77. </TabItem.Header>
  78. <StackPanel Background="Transparent" IsEnabled="{Binding ElementName=ChkLock, Path=IsChecked, Converter={StaticResource InvertBoolConvert}}">
  79. <TextBlock
  80. Margin="0,18,0,10"
  81. Style="{StaticResource PropertyHeaderLv2}"
  82. Text="Name" />
  83. <cus:TextBoxEx x:Name="TbName" Height="32" CornerRadius="4" Text="{Binding FieldName,Mode=TwoWay}" >
  84. <i:Interaction.Triggers>
  85. <i:EventTrigger EventName="TextChanged">
  86. <i:InvokeCommandAction Command="{Binding FieldNameTextChangedCommand}" CommandParameter="{Binding ElementName=TbName,Path=Text}"/>
  87. </i:EventTrigger>
  88. </i:Interaction.Triggers>
  89. </cus:TextBoxEx>
  90. <TextBlock
  91. Margin="0,18,0,10"
  92. Style="{StaticResource PropertyHeaderLv2}"
  93. Text="ToolTip" />
  94. <cus:TextBoxEx x:Name="TbToolTip" Height="32" CornerRadius="4" Text="{Binding ToolTipStr,Mode=TwoWay}">
  95. <i:Interaction.Triggers>
  96. <i:EventTrigger EventName="TextChanged">
  97. <i:InvokeCommandAction Command="{Binding ToolTipTextChangedCommand}" CommandParameter="{Binding ElementName=TbToolTip,Path=Text}"/>
  98. </i:EventTrigger>
  99. </i:Interaction.Triggers>
  100. </cus:TextBoxEx>
  101. <TextBlock
  102. Margin="0,18,0,10"
  103. Style="{StaticResource PropertyHeaderLv2}"
  104. Text="Form Field" />
  105. <form:FormFieldCombox x:Name="formCombox" Type="{Binding FormField,Mode=TwoWay}" Height="32" Margin="0,8,0,16" />
  106. <CheckBox x:Name="ReadOnlyCheckBox" Content="Read Only" IsChecked="{Binding IsReadOnly,Mode=TwoWay}"/>
  107. <CheckBox x:Name="RequiredFieldCheckBox" Margin="0,8" Content="Required field" IsChecked="{Binding IsRequiredField,Mode=TwoWay}" />
  108. </StackPanel>
  109. </TabItem>
  110. <TabItem>
  111. <TabItem.Header>
  112. <Path Data="M2.5 2.5V4.5H10.5V2.5H2.5ZM2 1C1.44772 1 1 1.44772 1 2V5C1 5.55228 1.44771 6 2 6H11C11.5523 6 12 5.55228 12 5V3.75H13.25V6.58333H8.4C7.76487 6.58333 7.25 7.09821 7.25 7.73333V9H7C6.44772 9 6 9.44772 6 10V14C6 14.5523 6.44772 15 7 15H9C9.55228 15 10 14.5523 10 14V10C10 9.44772 9.55228 9 9 9H8.75V8.08333H13.6C14.2351 8.08333 14.75 7.56846 14.75 6.93333V3.4C14.75 2.76487 14.2351 2.25 13.6 2.25H12V2C12 1.44772 11.5523 1 11 1H2ZM7.50018 13.4998V10.5002H8.49982V13.4998H7.50018Z" Fill="{StaticResource color.light.gray.11}" />
  113. </TabItem.Header>
  114. <Grid IsEnabled="{Binding ElementName=ChkLock, Path=IsChecked, Converter={StaticResource InvertBoolConvert}}" >
  115. <StackPanel>
  116. <StackPanel>
  117. <TextBlock
  118. Margin="0,18,0,10"
  119. Style="{StaticResource PropertyHeaderLv2}"
  120. Text="Set Color" />
  121. <Grid Height="50" >
  122. <Grid.ColumnDefinitions>
  123. <ColumnDefinition Width="*"/>
  124. <ColumnDefinition Width="*"/>
  125. <ColumnDefinition Width="*"/>
  126. <ColumnDefinition Width="*"/>
  127. </Grid.ColumnDefinitions>
  128. <RadioButton x:Name="OneBtn" BorderThickness="1" Width="30" Height="30" Grid.Column="0" Tag="One"
  129. Style="{StaticResource BlueBorderRadionButtonWithCorner}" Padding="3"
  130. ContextMenu="{StaticResource ColorBtnFlyoutMenu}"
  131. >
  132. <Grid Width="24" Height="24">
  133. <Rectangle Fill="{Binding ResetColorOne.FillColor}" Stroke="{Binding ResetColorOne.BorderColor}" StrokeThickness="1" VerticalAlignment="Stretch"/>
  134. <Path Data="M14 1.16054L6.56104 11.5684C6.38232 11.8184 6.09789 11.9761 5.78699 11.9975C5.4761 12.0189 5.17196 11.9017 4.9593 11.6785L0 6.47462L1.51064 5.09378L5.59965 9.38448L12.3072 0L14 1.16054Z"
  135. Fill="{Binding ResetColorOne.FontColor}"/>
  136. </Grid>
  137. <i:Interaction.Triggers>
  138. <i:EventTrigger EventName="Checked">
  139. <i:InvokeCommandAction Command="{Binding ResetColorCheckedBtnCommand}" CommandParameter="{Binding ElementName=OneBtn,Path=Tag}"/>
  140. </i:EventTrigger>
  141. </i:Interaction.Triggers>
  142. </RadioButton>
  143. <RadioButton x:Name="TwoBtn" BorderThickness="1" Width="30" Height="30" Grid.Column="1" Tag="Two"
  144. Style="{StaticResource BlueBorderRadionButtonWithCorner}"
  145. ContextMenu="{StaticResource ColorBtnFlyoutMenu}"
  146. >
  147. <Grid Width="24" Height="24">
  148. <Rectangle Fill="{Binding ResetColorTwo.FillColor}" Stroke="{Binding ResetColorTwo.BorderColor}" StrokeThickness="1" VerticalAlignment="Stretch"/>
  149. <Path Data="M14 1.16054L6.56104 11.5684C6.38232 11.8184 6.09789 11.9761 5.78699 11.9975C5.4761 12.0189 5.17196 11.9017 4.9593 11.6785L0 6.47462L1.51064 5.09378L5.59965 9.38448L12.3072 0L14 1.16054Z"
  150. Fill="{Binding ResetColorTwo.FontColor}"/>
  151. </Grid>
  152. <i:Interaction.Triggers>
  153. <i:EventTrigger EventName="Checked">
  154. <i:InvokeCommandAction Command="{Binding ResetColorCheckedBtnCommand}" CommandParameter="{Binding ElementName=TwoBtn,Path=Tag}"/>
  155. </i:EventTrigger>
  156. </i:Interaction.Triggers>
  157. </RadioButton>
  158. <RadioButton x:Name="ThreeBtn" BorderThickness="1" Width="30" Height="30" Grid.Column="2" Tag="Three"
  159. Style="{StaticResource BlueBorderRadionButtonWithCorner}"
  160. ContextMenu="{StaticResource ColorBtnFlyoutMenu}"
  161. >
  162. <Grid Width="24" Height="24">
  163. <Rectangle Fill="{Binding ResetColorThree.FillColor}" Stroke="{Binding ResetColorThree.BorderColor}" StrokeThickness="1" VerticalAlignment="Stretch"/>
  164. <Path Data="M14 1.16054L6.56104 11.5684C6.38232 11.8184 6.09789 11.9761 5.78699 11.9975C5.4761 12.0189 5.17196 11.9017 4.9593 11.6785L0 6.47462L1.51064 5.09378L5.59965 9.38448L12.3072 0L14 1.16054Z"
  165. Fill="{Binding ResetColorThree.FontColor}"/>
  166. </Grid>
  167. <i:Interaction.Triggers>
  168. <i:EventTrigger EventName="Checked">
  169. <i:InvokeCommandAction Command="{Binding ResetColorCheckedBtnCommand}" CommandParameter="{Binding ElementName=ThreeBtn,Path=Tag}"/>
  170. </i:EventTrigger>
  171. </i:Interaction.Triggers>
  172. </RadioButton>
  173. <RadioButton x:Name="ForthBtn" BorderThickness="1" Width="30" Height="30" Grid.Column="3" Tag="Forth"
  174. Style="{StaticResource BlueBorderRadionButtonWithCorner}"
  175. ContextMenu="{StaticResource ColorBtnFlyoutMenu}"
  176. >
  177. <Grid Width="24" Height="24">
  178. <Rectangle Fill="{Binding ResetColorForth.FillColor}" Stroke="{Binding ResetColorForth.BorderColor}" StrokeThickness="1" VerticalAlignment="Stretch"/>
  179. <Path Data="M14 1.16054L6.56104 11.5684C6.38232 11.8184 6.09789 11.9761 5.78699 11.9975C5.4761 12.0189 5.17196 11.9017 4.9593 11.6785L0 6.47462L1.51064 5.09378L5.59965 9.38448L12.3072 0L14 1.16054Z"
  180. Fill="{Binding ResetColorForth.FontColor}"/>
  181. </Grid>
  182. <i:Interaction.Triggers>
  183. <i:EventTrigger EventName="Checked">
  184. <i:InvokeCommandAction Command="{Binding ResetColorCheckedBtnCommand}" CommandParameter="{Binding ElementName=ForthBtn,Path=Tag}"/>
  185. </i:EventTrigger>
  186. </i:Interaction.Triggers>
  187. </RadioButton>
  188. </Grid>
  189. </StackPanel>
  190. <StackPanel>
  191. <TextBlock
  192. Margin="0,18,0,10"
  193. Style="{StaticResource PropertyHeaderLv2}"
  194. Text="Line" />
  195. <CompositeControl:SlidComboControl x:Name="thickness" Value="{Binding BorderThiness,Mode=TwoWay}"/>
  196. <StackPanel
  197. x:Name="PnlLineStyle"
  198. Margin="0,20,0,0"
  199. Orientation="Horizontal">
  200. <cus:CustomIconToggleBtn
  201. x:Name="BtnSolidLine"
  202. Width="110"
  203. Height="32"
  204. Click="BtnLineStyle_Click"
  205. Command="{Binding LineStyleCommand}"
  206. CommandParameter="{Binding ElementName=BtnSolidLine, Path=Tag}"
  207. Style="{StaticResource ToggleBtnViewModeStyle}" IsChecked="{Binding IsSolid}"
  208. Tag="Solid">
  209. <Border
  210. Width="108"
  211. Height="30"
  212. Padding="8,0,8,0"
  213. BorderBrush="Black"
  214. BorderThickness="1">
  215. <Line
  216. Stroke="Black"
  217. StrokeThickness="2"
  218. X1="10"
  219. X2="260"
  220. Y1="15"
  221. Y2="15" />
  222. </Border>
  223. </cus:CustomIconToggleBtn>
  224. <cus:CustomIconToggleBtn
  225. x:Name="BtnDottedLine"
  226. Width="110"
  227. Height="32"
  228. Click="BtnLineStyle_Click"
  229. Command="{Binding LineStyleCommand}"
  230. CommandParameter="{Binding ElementName=BtnDottedLine, Path=Tag}"
  231. Style="{StaticResource ToggleBtnViewModeStyle}" IsChecked="{Binding IsSolid,Converter={StaticResource InvertBoolConvert}}"
  232. Tag="Dotted">
  233. <Border
  234. Width="108"
  235. Height="30"
  236. Padding="8,0,8,0"
  237. BorderBrush="Black"
  238. BorderThickness="1">
  239. <Line
  240. Stroke="Black"
  241. StrokeDashArray="2"
  242. StrokeThickness="2"
  243. X1="10"
  244. X2="260"
  245. Y1="15"
  246. Y2="15" />
  247. </Border>
  248. </cus:CustomIconToggleBtn>
  249. </StackPanel>
  250. </StackPanel>
  251. <StackPanel>
  252. <TextBlock
  253. Margin="0,18,0,10"
  254. Style="{StaticResource PropertyHeaderLv2}"
  255. Text="大小" />
  256. <StackPanel Orientation="Horizontal">
  257. <Path Data="M12.9999 8.75012V10.8285L15.8284 8.00006L12.9999 5.17163V7.25012H2.82843V5.17175L0 8.00017L2.82843 10.8286V8.75012H12.9999Z" Fill="#616469"/>
  258. <cus:NumericUpDown Height="32" Width="90" Value="{Binding WidthSize,Mode=TwoWay}"/>
  259. <Path Data="M10.8284 2.82843H8.74999L8.74999 12.9999H10.8285L8.00005 15.8284L5.17163 12.9999H7.24999L7.24999 2.82843H5.17151L7.99994 0L10.8284 2.82843Z" Fill="#616469"/>
  260. <cus:NumericUpDown Height="32" Width="90" Value="{Binding HeightSize,Mode=TwoWay}"/>
  261. </StackPanel>
  262. </StackPanel>
  263. </StackPanel>
  264. </Grid>
  265. </TabItem>
  266. <TabItem>
  267. <TabItem.Header>
  268. <Path Data="M4.91675 3.75V5H6.41675V1H4.91675V2.25H1.66675V3.75H4.91675ZM15.6667 3.75L7.66675 3.75V2.25L15.6667 2.25V3.75ZM1.66675 7.25V8.75H8.91675V10H10.4167V6H8.91675V7.25H1.66675ZM15.6667 8.75L11.6667 8.75V7.25L15.6667 7.25V8.75ZM7.66675 12.25V13.75L15.6667 13.75V12.25L7.66675 12.25ZM4.91675 13.75H1.66675V12.25H4.91675V11H6.41675V15H4.91675V13.75Z" Fill="{StaticResource color.light.gray.11}" />
  269. </TabItem.Header>
  270. <Grid>
  271. <StackPanel IsEnabled="{Binding ElementName=ChkLock, Path=IsChecked, Converter={StaticResource InvertBoolConvert}}">
  272. <TextBlock Text="Default Value"/>
  273. <cus:TextBoxEx x:Name="DefaultValueBox" Height="32" CornerRadius="4" Text="{Binding ExportedValues,Mode=TwoWay}" >
  274. <i:Interaction.Triggers>
  275. <i:EventTrigger EventName="TextChanged">
  276. <i:InvokeCommandAction Command="{Binding ExportedValuesTextChangedCommand}" CommandParameter="{Binding ElementName=DefaultValueBox,Path=Text}"/>
  277. </i:EventTrigger>
  278. </i:Interaction.Triggers>
  279. </cus:TextBoxEx>
  280. <CheckBox x:Name="DefaultCheckBox" Content="The checkbox is checked by default" IsChecked="{Binding IsDefaultCheckBox}"/>
  281. </StackPanel>
  282. </Grid>
  283. </TabItem>
  284. </TabControl>
  285. <Border
  286. Grid.Row="2"
  287. BorderBrush="{StaticResource color.sys.layout.divider}"
  288. BorderThickness="0,1,0,0">
  289. <CheckBox
  290. Name="ChkLock"
  291. Margin="16"
  292. Content="Locked" IsChecked="{Binding IsLocked,Mode=TwoWay}"/>
  293. </Border>
  294. </Grid>
  295. </UserControl>