我正在尝试通过以下代码设置所选项目但不起作用:
<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个索引,它可以正常工作。声明有什么问题吗?
答案 0 :(得分:0)
通过您的媒体资源DefaultSortIndex
的名称,您可能正在尝试为int
绑定SelectedItem
。
SeletedItem
指的是绑定到ItemsSource
的集合中的元素,因此绑定到SelectedItem
的属性必须是您的集合元素的类型。
答案 1 :(得分:0)
如果将int值绑定到所选项,那么它将无效,您应该为此绑定元素。对于int值,您可以按照以下帖子中的说明进行设置:
答案 2 :(得分:0)
发现了这个问题,实际上数据源每次调用getData()时都会创建新的列表。