⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.xaml

📁 工作流相关资料及源码,包含NETBPM,非常具有参考价值.
💻 XAML
📖 第 1 页 / 共 2 页
字号:
<ResourceDictionary 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >

  <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="Shared.xaml" />
  </ResourceDictionary.MergedDictionaries>

  <!-- SimpleStyles: Menu -->

  <Style x:Key="{x:Type Menu}" TargetType="{x:Type Menu}">
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type Menu}">
          <Border 
            Background="{StaticResource LightBrush}"
            BorderBrush="{StaticResource NormalBorderBrush}"
            BorderThickness="1">
            <StackPanel ClipToBounds="True" Orientation="Horizontal" IsItemsHost="True"/>
          </Border>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>
  <!-- SimpleStyles: ContextMenu -->

  <Style TargetType="{x:Type ContextMenu}">
    <Setter Property="SnapsToDevicePixels" Value="True"/>
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="Grid.IsSharedSizeScope" Value="true"/>
    <Setter Property="HasDropShadow" Value="True"/>
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type ContextMenu}">
          <Border 
            Name="Border"
            Background="{StaticResource WindowBackgroundBrush}"
            BorderBrush="{StaticResource SolidBorderBrush}"
            BorderThickness="1" >
            <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>
          </Border>
          <ControlTemplate.Triggers>
            <Trigger Property="HasDropShadow" Value="true">
              <Setter TargetName="Border" Property="Padding" Value="0,3,0,3"/>
              <Setter TargetName="Border" Property="CornerRadius" Value="4"/>
            </Trigger>
          </ControlTemplate.Triggers>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>


  <MenuScrollingVisibilityConverter x:Key="MenuScrollingVisibilityConverter"/>
  <Geometry x:Key="DownArrow"> M 0,0 L 3.5,4 L 7,0 Z</Geometry>
  <Geometry x:Key="UpArrow">   M 0,4 L 3.5,0 L 7,4 Z</Geometry>
  <Geometry x:Key="RightArrow">M 0,0 L 4,3.5 L 0,7 Z</Geometry>

  <Style x:Key="MenuScrollButton"
       TargetType="{x:Type RepeatButton}"
       BasedOn="{x:Null}">
    <Setter Property="ClickMode"
            Value="Hover"/>
    <Setter Property="MinWidth"
            Value="0"/>
    <Setter Property="MinHeight"
            Value="0"/>
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type RepeatButton}">
          <DockPanel Background="Transparent"
                     SnapsToDevicePixels="true">
            <!--right -->
            <Rectangle DockPanel.Dock="Right"
                       x:Name="R1"
                       Width="1"
                       Fill="Transparent"/>
            <!--bottom-->
            <Rectangle DockPanel.Dock="Bottom"
                       x:Name="B1"
                       Height="1"
                       Fill="Transparent"/>
            <!--left  -->
            <Rectangle DockPanel.Dock="Left"
                       x:Name="L1"
                       Width="1"
                       Fill="Transparent"/>
            <!--top   -->
            <Rectangle DockPanel.Dock="Top"
                       x:Name="T1"
                       Height="1"
                       Fill="Transparent"/>
            <ContentPresenter x:Name="ContentContainer"
                              Margin="2,2,2,2"
                              VerticalAlignment="Center"
                              HorizontalAlignment="Center"/>
          </DockPanel>
          <ControlTemplate.Triggers>
            <Trigger Property="IsPressed"
                     Value="true">
              <Setter TargetName="R1"
                      Property="Fill"
                      Value="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}"/>
              <Setter TargetName="B1"
                      Property="Fill"
                      Value="{DynamicResource {x:Static SystemColors.ControlLightLightBrushKey}}"/>
              <Setter TargetName="L1"
                      Property="Fill"
                      Value="{DynamicResource {x:Static SystemColors.ControlDarkDarkBrushKey}}"/>
              <Setter TargetName="T1"
                      Property="Fill"
                      Value="{DynamicResource {x:Static SystemColors.ControlDarkDarkBrushKey}}"/>
              <Setter TargetName="ContentContainer"
                      Property="Margin"
                      Value="3,3,1,1"/>
            </Trigger>
          </ControlTemplate.Triggers>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>


  <Style x:Key="MenuScrollViewer"
         TargetType="{x:Type ScrollViewer}"
         BasedOn="{x:Null}">
    <Setter Property="HorizontalScrollBarVisibility"
            Value="Hidden"/>
    <Setter Property="VerticalScrollBarVisibility"
            Value="Auto"/>
    <Setter Property="Template">
      <Setter.Value>
        <!--<SnippetMenuScrollViewer>-->
        <!--ScrollViewer for a MenuItem-->
        <ControlTemplate TargetType="{x:Type ScrollViewer}">
          <Grid SnapsToDevicePixels="True">
            <Grid.ColumnDefinitions>
              <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
              <RowDefinition Height="Auto"/>
              <RowDefinition Height="*"/>
              <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Border Grid.Row="1"
                    Grid.Column="0">
              <ScrollContentPresenter Margin="{TemplateBinding Padding}"/>
            </Border>
            <RepeatButton
                          Style="{StaticResource MenuScrollButton}"
                          Grid.Row="0"
                          Grid.Column="0"
                          Command="{x:Static ScrollBar.LineUpCommand}"
                          CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                          Focusable="False">
              <RepeatButton.Visibility>
                <MultiBinding FallbackValue="Visibility.Collapsed"
                              Converter="{StaticResource MenuScrollingVisibilityConverter}"
                              ConverterParameter="0">
                  <Binding RelativeSource="{RelativeSource TemplatedParent}"
                           Path="ComputedVerticalScrollBarVisibility"/>
                  <Binding RelativeSource="{RelativeSource TemplatedParent}"
                           Path="VerticalOffset"/>
                  <Binding RelativeSource="{RelativeSource TemplatedParent}"
                           Path="ExtentHeight"/>
                  <Binding RelativeSource="{RelativeSource TemplatedParent}"
                           Path="ViewportHeight"/>
                </MultiBinding>
              </RepeatButton.Visibility>
              <Path Fill="{DynamicResource {x:Static SystemColors.MenuTextBrushKey}}"
                    Data="{StaticResource UpArrow}"/>
            </RepeatButton>
            <RepeatButton
                          Style="{StaticResource MenuScrollButton}"
                          Grid.Row="2"
                          Grid.Column="0"
                          Command="{x:Static ScrollBar.LineDownCommand}"
                          CommandTarget="{Binding RelativeSource={RelativeSource TemplatedParent}}"
                          Focusable="False">
              <RepeatButton.Visibility>
                <MultiBinding FallbackValue="Visibility.Collapsed"
                              Converter="{StaticResource MenuScrollingVisibilityConverter}"
                              ConverterParameter="100">
                  <Binding RelativeSource="{RelativeSource TemplatedParent}"
                           Path="ComputedVerticalScrollBarVisibility"/>
                  <Binding RelativeSource="{RelativeSource TemplatedParent}"
                           Path="VerticalOffset"/>
                  <Binding RelativeSource="{RelativeSource TemplatedParent}"
                           Path="ExtentHeight"/>
                  <Binding RelativeSource="{RelativeSource TemplatedParent}"
                           Path="ViewportHeight"/>
                </MultiBinding>
              </RepeatButton.Visibility>
              <Path Fill="{DynamicResource {x:Static SystemColors.MenuTextBrushKey}}"
                    Data="{StaticResource DownArrow}"/>
            </RepeatButton>
          </Grid>
        </ControlTemplate>
        <!--</SnippetMenuScrollViewer>-->
      </Setter.Value>
    </Setter>
  </Style>

  <!-- SimpleStyles: MenuItem -->
  <Style x:Key="{x:Static MenuItem.SeparatorStyleKey}" TargetType="{x:Type Separator}">
    <Setter Property="Height" Value="1"/>
    <Setter Property="Margin" Value="0,4,0,4"/>
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="{x:Type Separator}">
          <Border BorderBrush="{StaticResource SolidBorderBrush}" BorderThickness="1"/>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>

  <!-- TopLevelHeader -->
  <ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}" TargetType="{x:Type MenuItem}">
    <Border Name="Border" >
      <Grid>
        <ContentPresenter 
          Margin="6,3,6,3" 
          ContentSource="Header"
          RecognizesAccessKey="True" />
        <Popup 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -