0

我在 Windows 商店应用程序中使用组合框,并通过数据绑定填充它。但是在运行时,它会选择一个空选项。我想从组合框中的项目中选择第一个选项。我尝试SelectedIndex="0"在 xaml 中进行设置,但它给出了问题,在组件初始化组合时 bcz 有 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"它对我来说很好。任何指针?

4

2 回答 2

1

您可以将属性添加到保持SelectedItem(并绑定到Combobox.SelectedItem)的 ViewModel(或可绑定数据),并且在设置属性Repositories时还设置SelectedItem

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

并在您的 xaml 代码中:

<ComboBox ItemsSource="{Binding Path=SelectedItem}"[...]
于 2013-03-21T12:57:29.177 回答
0
<ComboBox SelectedItem="{Binding Path=SelectedItem}"[...]
于 2014-10-29T07:50:01.843 回答