在Windows商店应用程序中默认选择组合框中的第一个选项

本文关键字:组合 选项 第一个 选择 默认 Windows 应用程序 | 更新日期: 2023-09-27 18:05:10

我在windows商店应用程序中使用组合框,并通过数据绑定填充它。但是在运行时,它选择一个空选项。我想从组合框中的项目中选择第一个选项。我尝试在xaml中设置SelectedIndex="0",但它给出了问题,因为在组件初始化时comboox有0个元素。我不想使用隐藏代码。( combo1.SelectedIndex = 0)。有什么建议如何通过xaml实现吗?

编辑:

<StackPanel Orientation="Horizontal">
                <TextBlock Text="Repository" Margin="10" VerticalAlignment="Center"/>
                <ComboBox Width="{StaticResource ComboWidth}" x:Name="repocombo" SelectedIndex="0" ItemsSource="{Binding Path=Repositories}" SelectionChanged="SearchCombo_SelectionChanged">
                    <ComboBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Path=Name}"/>
                        </DataTemplate>
                    </ComboBox.ItemTemplate>
                </ComboBox>
            </StackPanel>

它给出了' windows . ui . xml . markup '。XamlParseException',但它对我来说很好,如果我从它删除SelectedIndex="0"。指针吗?

在Windows商店应用程序中默认选择组合框中的第一个选项

你可以添加一个属性到你的ViewModel(或可绑定的数据),保持SelectedItem(并绑定到Combobox.SelectedItem),当你设置属性Repositories你也设置SelectedItem:

Repositories = GetData();
SelectedItem = Repositories.FirstOrDefault();

和在xaml代码中:

<ComboBox ItemsSource="{Binding Path=SelectedItem}"[...]
<ComboBox SelectedItem="{Binding Path=SelectedItem}"[...]