我不太熟悉XAML或绑定,但我一直在每个GUI元素上设置AutomationID。遗憾的是,我无法找到在ComboBox
中的项目上设置AutomationID的方法。
以下是在XAML中声明ComboBox的方法。
<ComboBox AutomationProperties.AutomationId="DialogRODB_TypeComboBox"
Height="23"
Margin="80,64,27,0"
VerticalAlignment="Top"
SelectedValue="{Binding Message.Move.Type}"
ItemsSource="{Binding Source={StaticResource MoveType}}" />
在另一个类中,这是创建组合框中的项目的地方。
public enum MoveType
{
[StringValue("INBOUND")] Inbound,
[StringValue("OUTBOUND")] Outbound
}
我无法真正提供更多代码,但我可以尝试回答任何问题。
答案 0 :(得分:4)
我认为你需要定义一个ItemTemplate,而不是将Automationid放到每个元素上。 例如,
<DataTemplate x:Key="PersonDataTemplate" DataType="model:Person">
<TextBlock Text="{Binding Name}">
<AutomationProperties.AutomationId>
<MultiBinding StringFormat="AID_{0}-{1}">
<Binding Path="Name" />
<Binding Path="Id" />
</MultiBinding >
</AutomationProperties.AutomationId>
</TextBlock>
</DataTemplate>