我的ComboBox
项必须是:
"某些文字10.00其他文字1.00"
我试过下面的代码,但它没有用。它抛出异常。
System.NullReferenceException未处理消息:未处理 类型' System.NullReferenceException'的异常发生在 WindowsBase.dll中
MyKeyValuePairArray
是List<KeyValuePair<decimal, decimal>>
<ComboBox ItemsSource="{Binding Source={x:Static static:MyApp.MyKeyValuePairArray}}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<Run Text="Some Text" />
<Run Text="{Binding Path=Key}" />
<Run Text="Other Text" />
<Run Text="{Binding Path=Value}" />
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
这有效,但我需要上面的模板:
<ComboBox ItemsSource="{Binding Source={x:Static static:MyApp.MyKeyValuePairArray}}"
DisplayMemberPath="Value"
SelectedValuePath="Key"/>
答案 0 :(得分:2)
VS在输出窗口中写入:
&#34; TwoWay或OneWayToSource绑定无法使用只读属性键和值&#34;
明确更改绑定模式:
<Run Text="Some Text" />
<Run Text="{Binding Path=Key, Mode=OneWay}" />
<Run Text="Other Text" />
<Run Text="{Binding Path=Value, Mode=OneWay}" />