组合框的默认选定索引使我的 UWP 应用程序崩溃

Default selected index for combo-box crashes my UWP App

为什么默认选择的索引不起作用?它因平台异常而崩溃:

<ComboBox x:Name="dCmbControl" x:Uid="dCmbControl" SelectionChanged="ComboBox_SelectionChanged" SelectedIndex="0" ItemsSource="{x:Bind abc}"/>

RumTime 错误:

Exception thrown at 0x00007FFDEF7F7788 (KernelBase.dll) in abc.exe: 0x40080201: WinRT originate error (parameters: 0x00000000802B000A, 0x000000000000003E, 0x00000066746FBB90).
Exception thrown at 0x00007FFDEF7F7788 in abc.exe: Microsoft C++ exception: Platform::COMException ^ at memory location 0x00000066746FC0E0. HRESULT:0x802B000A The text associated with this error code could not be found.

我做错了什么?

SelectedIndex 设置为 0 的情况下,ComboBox 正在尝试访问其第一个子节点 select。当 XAML 正在加载时,将构建控件并将 SelectedIndex 初始化为 0。这将更新相关的 SelectedItem 属性 但是因为仍然没有可用的项目这一点,引发了一个例外。

不幸的是,引发的异常不包含任何相关细节(在 C# 中也是如此)。

您可以在 XAML 中将值设置为 -1 并在加载组合框后将其更新为您想要的值(通过后面的代码或通过绑定)。

我遇到了类似的问题。 我所做的是在我需要设置之前手动将列表中的项目(与我在 x:bind 中使用的列表相同)添加到组合框。这样它总是在你需要的时候加载。