将自动化ID添加到绑定的组合框项目中
本文关键字:组合 项目 绑定 自动化 ID 添加 | 更新日期: 2023-09-27 18:22:09
我不太熟悉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
}
我真的无法提供更多的代码,但我可以尝试回答任何问题。
我认为您需要定义一个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>