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

时间:2013-03-21 12:26:04

标签: c# xaml windows-store-apps

我在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",它对我来说很好。任何指针?

2 个答案:

答案 0 :(得分:1)

您可以向ViewModel(或可绑定数据)添加一个属性,该属性保留SelectedItem(并绑定到Combobox.SelectedItem),当您设置属性Repositories时,您还可以设置{ {1}}:

SelectedItem

并在你的xaml代码中:

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

答案 1 :(得分:0)

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