我在Windows应用商店中使用combo-box,并通过数据绑定填充它。但是在运行时,它会选择一个空选项。我想从组合框中的项目中选择第一个选项。我尝试在xaml中设置SelectedIndex="0"
但是它给出了问题,在组件初始化时bcz 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.Xaml.Markup.XamlParseException',但如果我从中移除SelectedIndex="0"
,它对我来说很好。任何指针?
答案 0 :(得分:1)
您可以向ViewModel(或可绑定数据)添加一个属性,该属性保留SelectedItem
(并绑定到Combobox.SelectedItem
),当您设置属性Repositories
时,您还可以设置{ {1}}:
SelectedItem
并在你的xaml代码中:
Repositories = GetData();
SelectedItem = Repositories.FirstOrDefault();
答案 1 :(得分:0)
<ComboBox SelectedItem="{Binding Path=SelectedItem}"[...]