gpt4 book ai didi

c# - UWP ComboBox 不显示绑定(bind)项

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:22 24 4
gpt4 key购买 nike

我有一个包含 Int32 对象集合的组合框。 ComboBox SelectedItem 绑定(bind)到 Int32。

            <ComboBox>
<ComboBox.SelectedItem>
<Binding Path="MidiChannel" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" />
</ComboBox.SelectedItem>
<ComboBox.Items>
<ComboBoxItem>
<x:Int32>0</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>1</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>2</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>3</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>4</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>5</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>6</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>7</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>8</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>9</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>10</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>11</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>12</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>13</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>14</x:Int32>
</ComboBoxItem>
<ComboBoxItem>
<x:Int32>15</x:Int32>
</ComboBoxItem>
</ComboBox.Items>

</ComboBox>

MidiChannel 属性实现了 INotifyPropertyChanged。

无论我尝试什么组合,切换集合和 SelectedItem,使用 SelectedValue 而不是 SelectedItem。 ComboBox 不会在 UI 中显示 SelectedItem。输出没有显示任何绑定(bind)错误,我已经检查了类中是否存在 Int32。如何让 ComboBox 显示我的 Int32?

最佳答案

我不是 100% 确定,但您正在用 <ComboboxItem> 填充您的列表元素。您的属性(property)应该是那种类型(最好不要),或者您的 Path 应该反射(reflect) ComboboxItem.Content 或其他东西。

总而言之,使用 ItemSource 属性并让您的 ViewModel 提供整数列表要容易得多(更好)。一个简单的数组或 List<int>足够。

如果您确实想为此使用 XAML,请尝试省略包装器:

  <ComboBox.Items>
<x:Int32>0</x:Int32>
<x:Int32>1</x:Int32>
<x:Int32>2</x:Int32>
...

关于c# - UWP ComboBox 不显示绑定(bind)项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35393450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com