gpt4 book ai didi

wpf - 如何将多个 XAML 样式应用于一个元素?

转载 作者:行者123 更新时间:2023-12-04 13:43:49 25 4
gpt4 key购买 nike

我有一个工具包:DataGrid(来自 Codeplex)。

它开始有许多不同的风格:

  • 一种用于根据 ViewModel 中的变量打开和关闭它
  • 一种用于视觉造型
  • 一个用于其他一些触发器等。

  • 所有这些都需要在 一大风格 ,这是唯一的方法吗?或者我可以有 多种款式并在我需要时附加它们?无论如何要这样做,以便您可以例如 在代码中交换样式 ?

    款式:
    <Style x:Key="CodePlexDataGridSwapper" TargetType="toolkit:DataGrid">
    <Style.Triggers>
    <DataTrigger Binding="{Binding WhichGrid}" Value="Infragistics">
    <Setter Property="toolkit:DataGrid.Visibility" Value="Collapsed"/>
    </DataTrigger>
    </Style.Triggers>
    </Style>

    <Style x:Key="ToolkitDataGridLayout" TargetType="toolkit:DataGrid">
    <Setter Property="Background" Value="Yellow"/>
    </Style>

    伪代码:
    <toolkit:DataGrid 
    Style="{StaticResource CodePlexDataGridSwapper, ToolkitDataGridLayout}"
    ItemsSource="{Binding Customers}"/>

    最佳答案

    您可能想查看 BasedOn property样式类。基本上,它允许您从另一种样式继承一种样式。 'child' 样式将拥有来自父级的所有 setter 和触发器(除非它的 setter 覆盖了父级的 setter),而且它显然会有自己的 setter 和触发器。

    也许这些信息会对您有所帮助。

    关于wpf - 如何将多个 XAML 样式应用于一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/915767/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com