XAML - DataGridComboBoxColumn中ComboBox元素的自动化ID

时间:2012-02-22 15:49:21

标签: wpf xaml automation

首先,我用于自动化ComboBox各个元素的方法如下:

<ComboBox.ItemContainerStyle>
    <Style TargetType="ComboBoxItem">
        <Setter Property="AutomationProperties.AutomationId"
                Value="{Binding ProviderName}" />
    </Style>
</ComboBox.ItemContainerStyle>

ProviderName绑定到ComboBox的DisplayMemberPath属性。

我的问题是,ItemContainerStyle在尝试修改DataGridComboBoxColumn时似乎不可用,因此其中包含的组合框的元素也具有自动ID。

有没有人遇到过这样做的方法?

我仍然在考虑不同的想法,所以如果我遇到任何有意义的结果,我会发布它们。提前谢谢。

1 个答案:

答案 0 :(得分:1)

经过一些实验,我设法通过设置EditingElementStyle来实现它。

这是XAML:

<DataGridComboBoxColumn.EditingElementStyle>
    <Style TargetType="{x:Type ComboBox}">
        <Setter Property="ItemContainerStyle">
            <Setter.Value>
                <Style TargetType="ComboBoxItem">
                    <Setter Property="AutomationProperties.AutomationId"
                            Value="{Binding ProviderName}" />
                </Style>
            </Setter.Value>
        </Setter>
    </Style>
</DataGridComboBoxColumn.EditingElementStyle>