在组合框XAML / C#/ WinRT中查找项目的索引

时间:2014-09-17 06:23:15

标签: c# xaml winrt-xaml win-universal-app

所以我做了很多研究并尝试了很多人的解决方案,似乎什么都没有用,我无法弄清楚原因。 我试图在我的ComboBox中找到项目的索引:

string Index = programType.Items.IndexOf("Lose Weight").ToString();

索引永远是" -1"即使有一个项目的内容/标签为"减肥":

<ComboBox x:Name="programType" Header="Desired goal:" HorizontalAlignment="Left" Grid.Row="5" Grid.Column="1" Margin="30,0,0,0" Grid.ColumnSpan="2" VerticalAlignment="Top" Width="200" PlaceholderText="Desired Goal">
    <ComboBoxItem Content="Lose Weight" Tag="Lose Weight" IsSelected="True" />
    <ComboBoxItem Content="Get Healthier" Tag="Get Healthier"/>
    <ComboBoxItem Content="Get Stronger" Tag="Get Stronger"/>
    <ComboBoxItem Content="Cardio Booster" Tag="Cardio Booster"/>
</ComboBox>

据我所知它应该有效吗?我一定是做错了什么提示?谢谢!

1 个答案:

答案 0 :(得分:2)

以这种方式添加项目时,Items属性包含ComboBoxItem类型的对象。使用以下代码获取字符串列表:

int index = programType.Items
    .Cast<ComboBoxItem>()
    .Select(c => (string)c.Content)
    .ToList()
    .IndexOf("Lose Weight");