MainWindow.xaml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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="540"
  16. MinHeight="460"
  17. prism:ViewModelLocator.AutoWireViewModel="True"
  18. Activated="Window_Activated"
  19. Closed="Window_Closed"
  20. Style="{StaticResource 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="34"
  40. Margin="4,6,0,2"
  41. BorderBrush="#A0A2AE"
  42. BorderThickness="1,1,1,0"
  43. CornerRadius="5,5,0,0"
  44. WindowChrome.IsHitTestVisibleInChrome="True">
  45. <Grid>
  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. </ResourceDictionary>
  125. </Window.Resources>
  126. <Border>
  127. <Grid Background="#DFDFE0">
  128. <Grid.RowDefinitions>
  129. <RowDefinition Height="40" />
  130. <RowDefinition Height="*" />
  131. </Grid.RowDefinitions>
  132. <dragablz:TabablzControl
  133. Name="TabablzControl"
  134. Grid.RowSpan="3"
  135. BorderThickness="0"
  136. ItemContainerStyle="{StaticResource DragablzItemStyle}"
  137. SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
  138. <dragablz:TabablzControl.InterTabController>
  139. <dragablz:InterTabController InterTabClient="{Binding InterTabClient}" />
  140. </dragablz:TabablzControl.InterTabController>
  141. <dragablz:TabablzControl.HeaderSuffixContent>
  142. <Button
  143. x:Name="BtnAdd"
  144. Width="16"
  145. Height="16"
  146. Margin="9,7,200,5"
  147. HorizontalAlignment="Left"
  148. Background="Transparent"
  149. BorderThickness="0"
  150. Command="{Binding AddTab}"
  151. Content="+"
  152. WindowChrome.IsHitTestVisibleInChrome="True" />
  153. </dragablz:TabablzControl.HeaderSuffixContent>
  154. <dragablz:TabablzControl.HeaderPrefixContent>
  155. <Grid
  156. Width="16"
  157. Height="38"
  158. Margin="0,0,0,0"
  159. Background="Transparent" />
  160. </dragablz:TabablzControl.HeaderPrefixContent>
  161. </dragablz:TabablzControl>
  162. <!-- 标题栏右侧栏,关闭按钮,会员,试用等 -->
  163. <StackPanel
  164. HorizontalAlignment="Right"
  165. Orientation="Horizontal"
  166. WindowChrome.IsHitTestVisibleInChrome="True">
  167. <Button
  168. Name="BtnMiniSize"
  169. Width="40"
  170. Height="40"
  171. Background="Transparent"
  172. BorderThickness="0"
  173. Click="BtnMiniSize_Click"
  174. Content="--" />
  175. <Button
  176. Name="BtnReStore"
  177. Width="40"
  178. Height="40"
  179. Background="Transparent"
  180. BorderThickness="0"
  181. Click="BtnReStore_Click" />
  182. <Button
  183. Name="BtnClose"
  184. Width="40"
  185. Height="40"
  186. Background="Transparent"
  187. BorderThickness="0"
  188. Click="BtnClose_Click"
  189. Content="X" />
  190. </StackPanel>
  191. </Grid>
  192. </Border>
  193. </Window>