如何从Silverlight组合框中获取实际值而不是DTO值

时间:2012-07-07 16:43:25

标签: silverlight

我正在自动化Silverlight应用程序进行测试。 我有一个拥有1000个值的Silverlight组合框。

我可以按索引选择值,但不能通过传递实际值。

另外,如果我尝试获取组合框的内容,它会以数据模板对象的形式显示一些xyz.DTO。

我没有开发知识,所以我无法理解datatemplate概念并对其进行解码。

有人可以帮助我理解如何从组合框而不是代码中检索实际值,或者如何通过传递值而不是索引来选择值。

感谢有人能提供快速建议。

谢谢, SlvAutomator

1 个答案:

答案 0 :(得分:1)

您可以通过以下操作选择组合框项目的内容属性:

     string content = ((ComboBoxItem)comboBox.Items[index]).Content.ToString();

要使用Content属性选择项目,您需要在组合框中指定 SelectedValuePath

   <ComboBox x:Name="comboBox" Width="100" Height="100" SelectedValuePath="Content">
        <ComboBoxItem Content="Blue"/>
        <ComboBoxItem Content="Black" />
        <ComboBoxItem Content="Dark Red" />
    </ComboBox>

然后在后面的代码中你可以选择这样的值:

    comboBox.SelectedValue = "Black";