我正在尝试从字符串中设置我的silverlight组合框中的所选项目.
在这个例子中,假设我有一个名为"MyComboBox"的组合框,如下所示:
<ComboBox Height="23" x:Name="MyComboBox" Width="200" HorizontalAlignment="Left">
<ComboBoxItem Tag="0" Content="Pizza" IsSelected="True"/>
<ComboBoxItem Tag="1" Content="Soda"/>
<ComboBoxItem Tag="2" Content="Wings"/>
<ComboBoxItem Tag="3" Content="Bread Sticks"/>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
我从列表中随机选择一个字符串值来模拟用户保存的首选项.我面临的问题是尝试从字符串中获取"MyComboBox"的索引.
我尝试过使用带有LINQ的MyComboBox.items,但这让我无处可去.
这里有一些关于堆栈溢出的类似问题,但这些问题都没有得到解答.
如果你有一个理由,你必须包装在那里,ComboBoxItem这应该工作.
MyComboBox.Items.SelectedItem =
MyComboBox.Items.SingleOrDefault(c => (c as ComboBoxItem).Content == myString);
Run Code Online (Sandbox Code Playgroud)
我建议不要直接插入ComboBoxItem和设置项目String或在代码中设置集合并绑定到它.