MainWindow.xaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <Window
  2. x:Class="PDF_Office.Views.MainWindow"
  3. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  4. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  5. xmlns:cus="clr-namespace:PDF_Office.CustomControl"
  6. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  7. xmlns:dragablz="http://dragablz.net/winfx/xaml/dragablz"
  8. xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
  9. xmlns:local="clr-namespace:PDF_Office"
  10. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  11. xmlns:prism="http://prismlibrary.com/"
  12. xmlns:viewmodels="clr-namespace:PDF_Office.ViewModels"
  13. Width="1280"
  14. Height="800"
  15. MinWidth="800"
  16. MinHeight="800"
  17. prism:ViewModelLocator.AutoWireViewModel="True"
  18. Activated="Window_Activated"
  19. Closed="Window_Closed"
  20. Style="{DynamicResource WindowStyle}"
  21. UseLayoutRounding="True"
  22. WindowStartupLocation="CenterScreen"
  23. mc:Ignorable="d">
  24. <Window.Resources>
  25. <ResourceDictionary>
  26. <Style x:Key="DragablzItemStyle" TargetType="{x:Type dragablz:DragablzItem}">
  27. <Setter Property="WindowChrome.IsHitTestVisibleInChrome" Value="True" />
  28. <Setter Property="Template">
  29. <Setter.Value>
  30. <ControlTemplate TargetType="dragablz:DragablzItem">
  31. <Grid x:Name="templateRoot">
  32. <Grid.ColumnDefinitions>
  33. <ColumnDefinition Width="*" />
  34. <ColumnDefinition Width="auto" />
  35. </Grid.ColumnDefinitions>
  36. <Border
  37. x:Name="Title"
  38. Width="184"
  39. Height="28"
  40. Margin="4,0,0,2"
  41. BorderBrush="#A0A2AE"
  42. BorderThickness="1,1,1,0"
  43. CornerRadius="5,5,0,0"
  44. WindowChrome.IsHitTestVisibleInChrome="True">
  45. <Grid Background="Transparent">
  46. <Grid.ColumnDefinitions>
  47. <ColumnDefinition Width="auto" />
  48. <ColumnDefinition Width="*" MinWidth="10" />
  49. <ColumnDefinition Width="auto" />
  50. </Grid.ColumnDefinitions>
  51. <TextBlock
  52. x:Name="TextTitle"
  53. MaxWidth="145"
  54. Margin="8,4,0,4"
  55. FontFamily="Segoe UI,Microsoft YaHei"
  56. Text="{Binding DataContext.FileName}"
  57. TextTrimming="WordEllipsis" />
  58. <Thumb
  59. x:Name="PART_Thumb"
  60. Grid.ColumnSpan="2"
  61. HorizontalAlignment="Stretch"
  62. VerticalContentAlignment="Stretch"
  63. Background="Transparent"
  64. FontFamily="Segoe UI,Microsoft YaHei"
  65. ToolTip="{Binding DataContext.FileName}">
  66. <Thumb.Template>
  67. <ControlTemplate>
  68. <Grid Background="Transparent" />
  69. </ControlTemplate>
  70. </Thumb.Template>
  71. </Thumb>
  72. <TextBlock
  73. x:Name="ChangeIcon"
  74. Grid.Column="1"
  75. Width="5"
  76. Margin="3,4,2,0"
  77. HorizontalAlignment="Left"
  78. VerticalAlignment="Top"
  79. IsHitTestVisible="False"
  80. Text="*"
  81. Visibility="{Binding DataContext.FileChanged}" />
  82. <Button
  83. Grid.Column="2"
  84. Width="16"
  85. Height="16"
  86. Margin="0,4,8,4"
  87. Background="Transparent"
  88. BorderThickness="0"
  89. Command="{Binding DataContext.CloseTab}"
  90. CommandParameter="{Binding}"
  91. Content="X" />
  92. </Grid>
  93. </Border>
  94. </Grid>
  95. <ControlTemplate.Triggers>
  96. <Trigger Property="IsSelected" Value="True">
  97. <Setter TargetName="Title" Property="Background" Value="#FFFFFF" />
  98. <Setter TargetName="Title" Property="BorderThickness" Value="1,1,1,0" />
  99. <Setter TargetName="TextTitle" Property="Foreground" Value="#477EDE" />
  100. <Setter TargetName="ChangeIcon" Property="Foreground" Value="#477EDE" />
  101. </Trigger>
  102. <Trigger Property="IsSelected" Value="False">
  103. <Setter TargetName="Title" Property="Background" Value="TransParent" />
  104. <Setter TargetName="Title" Property="BorderThickness" Value="1,1,1,0" />
  105. <Setter TargetName="TextTitle" Property="Foreground" Value="#666666" />
  106. <Setter TargetName="ChangeIcon" Property="Foreground" Value="#666666" />
  107. <!--<Setter TargetName="btnPath" Property="Path.Fill" Value="#FF666666"/>-->
  108. </Trigger>
  109. <MultiDataTrigger>
  110. <MultiDataTrigger.Conditions>
  111. <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="false" />
  112. <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true" />
  113. </MultiDataTrigger.Conditions>
  114. <Setter TargetName="Title" Property="Background" Value="#0D000000" />
  115. <Setter TargetName="TextTitle" Property="Foreground" Value="black" />
  116. <Setter TargetName="ChangeIcon" Property="Foreground" Value="black" />
  117. <!--<Setter TargetName="btnPath" Property="Path.Fill" Value="Black"/>-->
  118. </MultiDataTrigger>
  119. </ControlTemplate.Triggers>
  120. </ControlTemplate>
  121. </Setter.Value>
  122. </Setter>
  123. </Style>
  124. <Style x:Key="WindowStyle" TargetType="{x:Type Window}">
  125. <Setter Property="WindowChrome.WindowChrome">
  126. <Setter.Value>
  127. <WindowChrome
  128. CaptionHeight="32"
  129. CornerRadius="10"
  130. GlassFrameThickness="-1"
  131. ResizeBorderThickness="5"
  132. UseAeroCaptionButtons="False" />
  133. </Setter.Value>
  134. </Setter>
  135. <Setter Property="Template">
  136. <Setter.Value>
  137. <ControlTemplate TargetType="{x:Type Window}">
  138. <Border
  139. Background="{TemplateBinding Background}"
  140. BorderBrush="{TemplateBinding BorderBrush}"
  141. BorderThickness="{TemplateBinding BorderThickness}">
  142. <AdornerDecorator>
  143. <ContentPresenter x:Name="win_content" />
  144. </AdornerDecorator>
  145. </Border>
  146. <ControlTemplate.Triggers>
  147. <Trigger Property="WindowState" Value="Maximized">
  148. <!-- 调整边框 -->
  149. <Setter TargetName="win_content" Property="Margin" Value="5,5,5,5" />
  150. </Trigger>
  151. </ControlTemplate.Triggers>
  152. </ControlTemplate>
  153. </Setter.Value>
  154. </Setter>
  155. </Style>
  156. </ResourceDictionary>
  157. </Window.Resources>
  158. <Border>
  159. <Grid>
  160. <Grid.RowDefinitions>
  161. <RowDefinition Height="40" />
  162. <RowDefinition Height="*" />
  163. </Grid.RowDefinitions>
  164. <dragablz:TabablzControl
  165. Name="TabablzControl"
  166. Grid.RowSpan="2"
  167. BorderThickness="0"
  168. ItemContainerStyle="{StaticResource DragablzItemStyle}"
  169. SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
  170. <dragablz:TabablzControl.InterTabController>
  171. <dragablz:InterTabController InterTabClient="{Binding InterTabClient}" />
  172. </dragablz:TabablzControl.InterTabController>
  173. <dragablz:TabablzControl.HeaderSuffixContent>
  174. <Button
  175. x:Name="BtnAdd"
  176. Width="16"
  177. Height="16"
  178. Margin="9,7,200,5"
  179. HorizontalAlignment="Left"
  180. Background="Transparent"
  181. BorderThickness="0"
  182. Command="{Binding AddTab}"
  183. Content="+"
  184. WindowChrome.IsHitTestVisibleInChrome="True" />
  185. </dragablz:TabablzControl.HeaderSuffixContent>
  186. <dragablz:TabablzControl.HeaderPrefixContent>
  187. <Grid
  188. Width="16"
  189. Height="38"
  190. Margin="0,2,0,0"
  191. Background="Transparent" />
  192. </dragablz:TabablzControl.HeaderPrefixContent>
  193. </dragablz:TabablzControl>
  194. <!-- 标题栏右侧栏,关闭按钮,会员,试用等 -->
  195. <StackPanel
  196. HorizontalAlignment="Right"
  197. Orientation="Horizontal"
  198. WindowChrome.IsHitTestVisibleInChrome="True">
  199. <Button
  200. Name="BtnMiniSize"
  201. Width="40"
  202. Height="40"
  203. Click="BtnMiniSize_Click"
  204. Content="--" />
  205. <Button
  206. Name="BtnReStore"
  207. Width="40"
  208. Height="40"
  209. Click="BtnReStore_Click" />
  210. <Button
  211. Name="BtnClose"
  212. Width="40"
  213. Height="40"
  214. Click="BtnClose_Click"
  215. Content="X" />
  216. </StackPanel>
  217. </Grid>
  218. </Border>
  219. </Window>