RadioButtonProperty.xaml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. <UserControl x:Class="PDF_Master.Views.Form.RadioButtonProperty"
  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="Text Field" />
  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="40" Height="40" Grid.Column="0" Tag="One"
  129. Style="{StaticResource BlueBorderRadionButtonWithCorner}" Padding="3"
  130. ContextMenu="{StaticResource ColorBtnFlyoutMenu}"
  131. >
  132. <Grid>
  133. <Ellipse Width="32" Height="32" Fill="{Binding ResetColorOne.FillColor}" StrokeThickness="1" Stroke="{Binding ResetColorOne.BorderColor}"/>
  134. <Ellipse Width="16" Height="16" Fill="{Binding ResetColorOne.FontColor}"/>
  135. </Grid>
  136. <i:Interaction.Triggers>
  137. <i:EventTrigger EventName="Checked">
  138. <i:InvokeCommandAction Command="{Binding ResetColorCheckedBtnCommand}" CommandParameter="{Binding ElementName=OneBtn,Path=Tag}"/>
  139. </i:EventTrigger>
  140. </i:Interaction.Triggers>
  141. </RadioButton>
  142. <RadioButton x:Name="TwoBtn" BorderThickness="1" Width="40" Height="40" Grid.Column="1" Tag="Two"
  143. Style="{StaticResource BlueBorderRadionButtonWithCorner}"
  144. ContextMenu="{StaticResource ColorBtnFlyoutMenu}"
  145. >
  146. <Grid>
  147. <Ellipse Width="32" Height="32" Fill="{Binding ResetColorTwo.FillColor}" StrokeThickness="1" Stroke="{Binding ResetColorTwo.BorderColor}"/>
  148. <Ellipse Width="16" Height="16" Fill="{Binding ResetColorTwo.FontColor}"/>
  149. </Grid>
  150. <i:Interaction.Triggers>
  151. <i:EventTrigger EventName="Checked">
  152. <i:InvokeCommandAction Command="{Binding ResetColorCheckedBtnCommand}" CommandParameter="{Binding ElementName=TwoBtn,Path=Tag}"/>
  153. </i:EventTrigger>
  154. </i:Interaction.Triggers>
  155. </RadioButton>
  156. <RadioButton x:Name="ThreeBtn" BorderThickness="1" Width="40" Height="40" Grid.Column="2" Tag="Three"
  157. Style="{StaticResource BlueBorderRadionButtonWithCorner}"
  158. ContextMenu="{StaticResource ColorBtnFlyoutMenu}"
  159. >
  160. <Grid>
  161. <Ellipse Width="32" Height="32" Fill="{Binding ResetColorThree.FillColor}" StrokeThickness="1" Stroke="{Binding ResetColorThree.BorderColor}"/>
  162. <Ellipse Width="16" Height="16" Fill="{Binding ResetColorThree.FontColor}"/>
  163. </Grid>
  164. <i:Interaction.Triggers>
  165. <i:EventTrigger EventName="Checked">
  166. <i:InvokeCommandAction Command="{Binding ResetColorCheckedBtnCommand}" CommandParameter="{Binding ElementName=ThreeBtn,Path=Tag}"/>
  167. </i:EventTrigger>
  168. </i:Interaction.Triggers>
  169. </RadioButton>
  170. <RadioButton x:Name="ForthBtn" BorderThickness="1" Width="40" Height="40" Grid.Column="3" Tag="Forth"
  171. Style="{StaticResource BlueBorderRadionButtonWithCorner}"
  172. ContextMenu="{StaticResource ColorBtnFlyoutMenu}"
  173. >
  174. <Grid>
  175. <Ellipse Width="32" Height="32" Fill="{Binding ResetColorForth.FillColor}" StrokeThickness="1" Stroke="{Binding ResetColorForth.BorderColor}"/>
  176. <Ellipse Width="16" Height="16" Fill="{Binding ResetColorForth.FontColor}"/>
  177. </Grid>
  178. <i:Interaction.Triggers>
  179. <i:EventTrigger EventName="Checked">
  180. <i:InvokeCommandAction Command="{Binding ResetColorCheckedBtnCommand}" CommandParameter="{Binding ElementName=ForthBtn,Path=Tag}"/>
  181. </i:EventTrigger>
  182. </i:Interaction.Triggers>
  183. </RadioButton>
  184. </Grid>
  185. </StackPanel>
  186. <StackPanel>
  187. <TextBlock
  188. Margin="0,18,0,10"
  189. Style="{StaticResource PropertyHeaderLv2}"
  190. Text="Line" />
  191. <CompositeControl:SlidComboControl x:Name="thickness" Value="{Binding BorderThiness,Mode=TwoWay}"/>
  192. <StackPanel
  193. x:Name="PnlLineStyle"
  194. Margin="0,20,0,0"
  195. Orientation="Horizontal">
  196. <cus:CustomIconToggleBtn
  197. x:Name="BtnSolidLine"
  198. Width="110"
  199. Height="32"
  200. Click="BtnLineStyle_Click"
  201. Command="{Binding LineStyleCommand}"
  202. CommandParameter="{Binding ElementName=BtnSolidLine, Path=Tag}"
  203. Style="{StaticResource ToggleBtnViewModeStyle}" IsChecked="{Binding IsSolid}"
  204. Tag="Solid">
  205. <Border
  206. Width="108"
  207. Height="30"
  208. Padding="8,0,8,0"
  209. BorderBrush="Black"
  210. BorderThickness="1">
  211. <Line
  212. Stroke="Black"
  213. StrokeThickness="2"
  214. X1="10"
  215. X2="260"
  216. Y1="15"
  217. Y2="15" />
  218. </Border>
  219. </cus:CustomIconToggleBtn>
  220. <cus:CustomIconToggleBtn
  221. x:Name="BtnDottedLine"
  222. Width="110"
  223. Height="32"
  224. Click="BtnLineStyle_Click"
  225. Command="{Binding LineStyleCommand}"
  226. CommandParameter="{Binding ElementName=BtnDottedLine, Path=Tag}"
  227. Style="{StaticResource ToggleBtnViewModeStyle}" IsChecked="{Binding IsSolid,Converter={StaticResource InvertBoolConvert}}"
  228. Tag="Dotted">
  229. <Border
  230. Width="108"
  231. Height="30"
  232. Padding="8,0,8,0"
  233. BorderBrush="Black"
  234. BorderThickness="1">
  235. <Line
  236. Stroke="Black"
  237. StrokeDashArray="2"
  238. StrokeThickness="2"
  239. X1="10"
  240. X2="260"
  241. Y1="15"
  242. Y2="15" />
  243. </Border>
  244. </cus:CustomIconToggleBtn>
  245. </StackPanel>
  246. </StackPanel>
  247. <StackPanel>
  248. <TextBlock
  249. Margin="0,18,0,10"
  250. Style="{StaticResource PropertyHeaderLv2}"
  251. Text="大小" />
  252. <StackPanel Orientation="Horizontal">
  253. <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"/>
  254. <cus:NumericUpDown Height="32" Width="90" Value="{Binding WidthSize,Mode=TwoWay}"/>
  255. <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"/>
  256. <cus:NumericUpDown Height="32" Width="90" Value="{Binding HeightSize,Mode=TwoWay}"/>
  257. </StackPanel>
  258. </StackPanel>
  259. </StackPanel>
  260. </Grid>
  261. </TabItem>
  262. <TabItem>
  263. <TabItem.Header>
  264. <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}" />
  265. </TabItem.Header>
  266. <Grid>
  267. <StackPanel IsEnabled="{Binding ElementName=ChkLock, Path=IsChecked, Converter={StaticResource InvertBoolConvert}}">
  268. <TextBlock Text="Default Value"/>
  269. <cus:TextBoxEx x:Name="DefaultValueBox" Height="32" CornerRadius="4" Text="{Binding RadioMemberName,Mode=TwoWay}" >
  270. <i:Interaction.Triggers>
  271. <i:EventTrigger EventName="TextChanged">
  272. <i:InvokeCommandAction Command="{Binding RadioMemberNameTextChangedCommand}" CommandParameter="{Binding ElementName=DefaultValueBox,Path=Text}"/>
  273. </i:EventTrigger>
  274. </i:Interaction.Triggers>
  275. </cus:TextBoxEx>
  276. <CheckBox x:Name="DefaultCheckBox" Content="The checkbox is checked by default" IsChecked="{Binding IsDefaultRadioBox}"/>
  277. </StackPanel>
  278. </Grid>
  279. </TabItem>
  280. </TabControl>
  281. <Border
  282. Grid.Row="2"
  283. BorderBrush="{StaticResource color.sys.layout.divider}"
  284. BorderThickness="0,1,0,0">
  285. <CheckBox
  286. Name="ChkLock"
  287. Margin="16"
  288. Content="Locked" IsChecked="{Binding IsLocked,Mode=TwoWay}"/>
  289. </Border>
  290. </Grid>
  291. </UserControl>