在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"
。指针吗?
你可以添加一个属性到你的ViewModel(或可绑定的数据),保持SelectedItem
(并绑定到Combobox.SelectedItem
),当你设置属性Repositories
你也设置SelectedItem
:
Repositories = GetData();
SelectedItem = Repositories.FirstOrDefault();
和在xaml代码中:
<ComboBox ItemsSource="{Binding Path=SelectedItem}"[...]
<ComboBox SelectedItem="{Binding Path=SelectedItem}"[...]