selectedItem在xaml中不起作用

时间:2013-03-22 11:53:12

标签: c# xaml windows-store-apps

我正在尝试通过以下代码设置所选项目但不起作用:

<StackPanel Orientation="Horizontal">
                <TextBlock Text="Sort by" Margin="10" VerticalAlignment="Center"/>
                <ComboBox Width="{StaticResource ComboWidth}" x:Name="sortcombo" ItemsSource="{Binding Path=SortOrder}" SelectionChanged="SearchCombo_SelectionChanged" SelectedItem="{Binding Path=DefaultSortIndex}">
                    <ComboBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Path=Sort}"/>
                        </DataTemplate>
                    </ComboBox.ItemTemplate>
                </ComboBox>
            </StackPanel>

然而,如果我使用selectedIndex而不是绑定到第0个索引,它可以正常工作。声明有什么问题吗?

3 个答案:

答案 0 :(得分:0)

通过您的媒体资源DefaultSortIndex的名称,您可能正在尝试为int绑定SelectedItem

SeletedItem指的是绑定到ItemsSource的集合中的元素,因此绑定到SelectedItem的属性必须是您的集合元素的类型。

答案 1 :(得分:0)

如果将int值绑定到所选项,那么它将无效,您应该为此绑定元素。对于int值,您可以按照以下帖子中的说明进行设置:

Set Selected Item of WPF Combobox to User Setting

答案 2 :(得分:0)

发现了这个问题,实际上数据源每次调用getData()时都会创建新的列表。