Wpf GridSplitter的全局样式,取决于其方向

Wpf GridSplitter的全局样式,取决于其方向,wpf,grid,styles,gridsplitter,Wpf,Grid,Styles,Gridsplitter,我想创建一个全局样式,它会影响我应用程序的每个“GridSplitter”,以便在鼠标悬停时更改其光标外观 此代码适用于垂直网格拆分器: <Style TargetType="GridSplitter"> <Setter Property="Cursor" Value="SizeWe"></Setter> </Style> 但我不知道如何检测其方向,并在适当时将值设置为“SizeNs”。 我不想改变每一个GridSplitter代码。我想

我想创建一个全局样式,它会影响我应用程序的每个“GridSplitter”,以便在鼠标悬停时更改其光标外观

此代码适用于垂直网格拆分器:

<Style TargetType="GridSplitter">
  <Setter Property="Cursor" Value="SizeWe"></Setter>
</Style>

但我不知道如何检测其方向,并在适当时将值设置为“SizeNs”。 我不想改变每一个GridSplitter代码。我想要一种可以应用于每个Gridsplitter的样式,而无需设置资源键

有什么想法吗

对于所有具有XamlParseException的用户:“在”System.Windows.Baml2006.TypeConverterMarkupExtension“上提供值”引发了异常。“行号“15”和行位置“9”


确保光标名称的语法正确

您可以在控件模板触发器中使用
ResizeDirection
属性并设置适当的光标

<Style TargetType="GridSplitter">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="GridSplitter">                        

                <Rectangle Fill="{TemplateBinding Background}"></Rectangle>

                <ControlTemplate.Triggers>
                    <Trigger Property="ResizeDirection" Value="Columns">
                        <Setter Property="Cursor" Value="SizeNS"></Setter>                                
                    </Trigger>
                    <Trigger Property="ResizeDirection" Value="Rows">
                        <Setter Property="Cursor" Value="SizeWE"></Setter>
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>


你好,尼特什,谢谢。它很有魅力。您如何知道必须添加:以确保不获取XamlParseException(System.Windows.Baml2006.TypeConverterMarkupExtension关于找不到“SizeWe”的信息)???我真的什么也没发现。为什么需要删除异常???请使用
SizeWE
而不是
SizeWE
。您提到的XAML代码行与此异常无关。发生异常是因为有一个轻微的键入错误。