基于父类型的样式中的WPF绑定路径

时间:2017-08-07 13:54:07

标签: wpf binding

我试图在Style元素中的ComboBoxItem类型的所有元素上设置自动化ID。我使用Binding Path作为自动化ID属性的源。 问题是Path值应该不同取决于ComboBoxItem的父级。有时它是常规的ComboBox,有时它是我们自己的自定义ComboBox。在前一种情况下,Path值是Content,在后一种情况下,Path值是Text。

    <UserControl.Resources>
       <Style TargetType="{x:Type ComboBoxItem}">
          <Setter Property="AutomationProperties.AutomationId">
       <Setter.Value>
          <Binding Path="Text" /> or <Binding Path="Content"
       </Setter.Value>
        </Setter>
        </Style>
    </UserControl.Resources>

如何在XAML中设置该条件?

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以尝试PriorityBinding

<UserControl.Resources>
    <Style TargetType="{x:Type ComboBoxItem}">
        <Setter Property="AutomationProperties.AutomationId">
            <Setter.Value>
                <PriorityBinding>
                    <Binding Path="Text" />
                    <Binding Path="Content" />
                </PriorityBinding>
            </Setter.Value>
        </Setter>
    </Style>
</UserControl.Resources>