0

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

<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 个索引,它工作正常。声明有什么问题吗?

4

3 回答 3

0

根据您的财产名称,您DefaultSortIndex可能正在尝试绑定intfor SelectedItem

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

于 2013-03-22T12:08:38.887 回答
0

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

将 WPF 组合框的选定项设置为用户设置

于 2013-03-22T12:10:08.847 回答
0

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

于 2013-03-22T13:00:49.070 回答