来自父控件的样式触发器

时间:2017-12-12 15:28:57

标签: xaml datatrigger devexpress-wpf

是否可以使用另一个控件的样式触发器?

我有Border控件,它位于网格每一行的指标部分(指示符是最左边带有小箭头的部分)。我想根据行是否选中来设置背景。所以我创造了一种风格:

<controls:SelectionConverter x:Key="SelectionConverter" />
<Style x:Key="SelectionStyle" TargetType="Border">
  <Setter Property="Background" Value="{Binding Converter={StaticResource SelectionConverter}}"/>
  <Style.Triggers>
    <!-- here I want to have a trigger which reacts on a property of the grid control -->
  </Style.Triggers>
</Style>

然后边框控件将使用该样式(实际上有3个边框控件)。

SelectionConverter将根据行返回正确的颜色(工作正常)。

问题是当我选择不同的单元格时背景不会更新(这有意义,因为没有触发器何时更新它)。

是否可以设置父控件的触发器?

单独行

<Trigger Property="ParentControl.SelectionHasChanged" Value="True"></Trigger>

1 个答案:

答案 0 :(得分:0)

您应该可以在ElementName中使用Binding来实现这一目标。例如,以下内容绑定到IsEnabled的{​​{1}}属性,并在Grid时将Background的{​​{1}}属性设置为红色:

Border