OutLineControl.xaml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <UserControl x:Class="PDF_Office.Views.BOTA.OutLineControl"
  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_Office.Views.BOTA"
  7. xmlns:customcontrol="clr-namespace:PDF_Office.CustomControl"
  8. xmlns:model="clr-namespace:PDF_Office.Model.BOTA"
  9. xmlns:bota="clr-namespace:PDF_Office.ViewModels.BOTA" d:DataContext="{d:DesignInstance Type=bota:OutLineControlViewModel}"
  10. mc:Ignorable="d" >
  11. <UserControl.Resources>
  12. <ResourceDictionary>
  13. <ResourceDictionary.MergedDictionaries>
  14. <ResourceDictionary Source="pack://application:,,,/PDF Office;component/Styles/OutLineItemStyle.xaml"/>
  15. </ResourceDictionary.MergedDictionaries>
  16. </ResourceDictionary>
  17. </UserControl.Resources>
  18. <Grid Background="Transparent">
  19. <Grid.RowDefinitions>
  20. <RowDefinition Height="40"/>
  21. <RowDefinition/>
  22. </Grid.RowDefinitions>
  23. <Grid x:Name="Header">
  24. <TextBlock x:Name="TxtTitle" Margin="12,0,0,0" HorizontalAlignment="Left"
  25. VerticalAlignment="Center" FontSize="18" FontWeight="SemiBold" Text="Outline" />
  26. <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
  27. <customcontrol:PathButton
  28. Height="24" Width="24" IconHeight="20" IconWidth="20"
  29. Icon="{StaticResource Ic_AddButtonPath}" IconFill="Red"
  30. IconPress="{StaticResource Ic_AddButtonPath}" IconPressFill="#C04CF8"
  31. IconMouseOver="{StaticResource Ic_AddButtonPath}" IconMouseOverFill="#C04CF8" />
  32. <customcontrol:PathButton
  33. x:Name="BtnMore"
  34. Click="BtnMore_Click"
  35. Height="24" Width="24" IconHeight="20" IconWidth="20"
  36. Icon="{StaticResource Ic_MoreButtonPath}" IconFill="Red"
  37. IconPress="{StaticResource Ic_MoreButtonPath}" IconPressFill="#C04CF8"
  38. IconMouseOver="{StaticResource Ic_MoreButtonPath}" IconMouseOverFill="#C04CF8" >
  39. <customcontrol:PathButton.ContextMenu>
  40. <ContextMenu
  41. Name="MenuMore">
  42. <ContextMenu.ItemContainerStyle>
  43. <Style TargetType="MenuItem">
  44. <Setter Property="Padding" Value="-25,7,-40,7" />
  45. <Setter Property="VerticalContentAlignment" Value="Center" />
  46. </Style>
  47. </ContextMenu.ItemContainerStyle>
  48. <MenuItem
  49. Name="MenuDeleteAll"
  50. Header="Delete All Outline" />
  51. <MenuItem
  52. Name="MenuExpandAll"
  53. Header="一键展开" />
  54. <MenuItem
  55. Name="MenuCollapseAll"
  56. Header="一键折叠" />
  57. </ContextMenu>
  58. </customcontrol:PathButton.ContextMenu>
  59. </customcontrol:PathButton>
  60. </StackPanel>
  61. </Grid>
  62. <StackPanel Margin="10,0" x:Name="FirstOulineLine" Orientation="Horizontal" VerticalAlignment="Bottom" Visibility="{Binding IsInsertHead,Converter={StaticResource BoolToVisible}}">
  63. <Ellipse Width="8" Height="8" Fill="White" Stroke="#FF0078D7" StrokeThickness="1.5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom"/>
  64. <Rectangle Margin="-1,0,0,2" Width="{Binding ElementName=Header,Path=ActualWidth}" HorizontalAlignment="Stretch" Height="1.5" StrokeDashArray="2" VerticalAlignment="Bottom" Fill="#FF0078D7"/>
  65. </StackPanel>
  66. <Grid Grid.Row="1"
  67. DragOver="Grid_DragOver">
  68. <TreeView x:Name="OutlineView" Grid.Row="1" ItemsSource="{Binding Outlinelist}"
  69. BorderThickness="0" AllowDrop="True"
  70. VirtualizingPanel.ScrollUnit="Pixel"
  71. PreviewMouseMove="OutlineView_PreviewMouseMove"
  72. ScrollViewer.HorizontalScrollBarVisibility="Disabled">
  73. <TreeView.ItemTemplate>
  74. <HierarchicalDataTemplate DataType="{x:Type model:OutlineNode}" ItemsSource="{Binding Path=Chlidlist}">
  75. <Grid>
  76. <Grid.ColumnDefinitions>
  77. <ColumnDefinition />
  78. <ColumnDefinition Width="auto" />
  79. </Grid.ColumnDefinitions>
  80. <Grid.ContextMenu>
  81. <ContextMenu>
  82. <MenuItem Header="1"/>
  83. <MenuItem Header="2"/>
  84. <MenuItem Header="3"/>
  85. <MenuItem Header="4"/>
  86. <MenuItem Header="5"/>
  87. <MenuItem Header="6"/>
  88. <MenuItem Header="7"/>
  89. <MenuItem Header="8"/>
  90. <MenuItem Header="9"/>
  91. </ContextMenu>
  92. </Grid.ContextMenu>
  93. <DockPanel x:Name="ContentPanel">
  94. <TextBlock x:Name="Content" Text="{Binding Outline.Title}" VerticalAlignment="Center" TextTrimming="CharacterEllipsis"/>
  95. <TextBlock x:Name="PageIndex" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Text="1"/>
  96. </DockPanel>
  97. <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" Visibility="{Binding IsInsertNextLayer, Converter={StaticResource BoolToVisible}}" >
  98. <Ellipse Margin="0,0,0,0" Width="8" Height="8" Fill="White" Stroke="#FF0078D7" StrokeThickness="1.5" VerticalAlignment="Bottom"/>
  99. <Line Margin="-1,0,0,2" X1="0" X2="{Binding ElementName=ContentPanel,Path=ActualWidth}" HorizontalAlignment="Stretch" StrokeThickness="1.5" StrokeDashArray="2" Stroke="#FF0078D7" VerticalAlignment="Bottom"/>
  100. </StackPanel>
  101. <Grid x:Name="RenameGrid" Visibility="{Binding ElementName=Content,Path=Visibility,Mode=TwoWay,Converter={StaticResource UnVisivleConvert}}">
  102. <TextBox x:Name="ReName" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  103. </Grid>
  104. </Grid>
  105. </HierarchicalDataTemplate>
  106. </TreeView.ItemTemplate>
  107. <TreeView.ItemContainerStyle>
  108. <Style BasedOn="{StaticResource OutLineItemStyle}" TargetType="TreeViewItem">
  109. </Style>
  110. </TreeView.ItemContainerStyle>
  111. </TreeView>
  112. </Grid>
  113. </Grid>
  114. </UserControl>