我想了解绑定和XAML。我有一个非常简单的例子,我将一个字符串数组绑定到在XAML中定义的组合框。我也想设置选定的索引。为什么我在设置ComboBox.SelectedIndex时出现异常?
我得到一个异常:
值不在预期的范围内。
与SelectedIndex property。
这里是我的UAM应用程序的XAML。
<StackPanel Background="{ThemeResource applicationPageBackgroundThemeBrush}">
<ComboBox Name="BrowserCombo" ItemsSource="{x:Bind ComboStrings}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
背后
public sealed partial class MainPage : Page
{
private string[] comboStrings = { "One", "Two", "Three" };
public List<String> ComboStrings
{
get { return new List<string>(comboStrings); }
}
public MainPage()
{
this.InitializeComponent();
DataContext = this;
BrowserCombo.SelectedIndex = 1;
}
private void Page_Loaded(object sender, RoutedEventArgs e)
{
// BrowserCombo.SelectedIndex = 1;
}
}
我想拥有它非常简单的代码,所以没有MVVM - 我还需要学习这个概念。
备注:
- 我可以把的SelectedIndex在XAML文件。同样的问题。
- 如果我把SelectedIndex在Page_Loaded事件处理程序,它工作正常。
- 在经典的桌面XAML(又名WPF)中,不会有任何问题。
似乎是项目列表将在XAML-WinRt和XAML-WPF之间填充不同。访问SelectedIndex属性的最早点是什么?