【发布时间】:2014-09-23 02:14:27
【问题描述】:
我希望在 ListBox 中有一个“自定义”项,以便用户可以输入除预设可选值之外的自定义值。
这是我的 XAML 代码:
<ListBox SelectedValue="{Binding SomeValue}"
SelectedValuePath="Tag"
Style="{StaticResource HorizontalRadioButtonList}">
<!-- style from http://stackoverflow.com/a/4120034/1813487 -->
<ListBoxItem Tag="10"
Content="10"/>
<ListBoxItem Tag="20"
Content="20"/>
<ListBoxItem Tag="30"
Content="30"/>
<ListBoxItem x:Name="CustomListBoxItem">
<TextBox Text="{Binding ElementName=CustomListBoxItem,
Mode=OneWayToSource,
UpdateSourceTrigger=PropertyChanged,
Path=Tag}"/>
</ListBoxItem>
</ListBox>
<TextBlock Text="{Binding SomeValue}"/>
如何在用户在 TextBox 中输入内容后立即更新 SomeValue?目前 ListBox 没有检测到 Tag 发生了变化,也没有更新 SomeValue。
【问题讨论】:
-
@MarcelB 这没有任何意义。 SomeValue 是我的 DataContext 的一个属性。 UniqueValue 是最后一个 ListBoxItem 的名称。否则,
{Binding UniqueValue.Tag},如果它有效,就相当于我在那里的。 -
是的,你是对的。我在上面混了一些东西……对不起。
标签: c# wpf xaml data-binding listbox