【发布时间】:2016-05-10 22:23:34
【问题描述】:
我有一个列表视图:
<ListView ItemsSource="{Binding Environments}" SelectedItem="{Binding SelectedEnvironment}">
<ListView.ItemTemplate>
<DataTemplate>
<controls:RadioButtonTextBox DataContext="{Binding}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
使用自定义控件作为其项目模板:
<StackPanel Orientation="Horizontal">
<RadioButton VerticalAlignment="Center">
<RadioButton.IsChecked>
<MultiBinding Converter="{converters:StringCompareToBooleanConverter}">
<Binding Path="." RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=UserControl}"/>
<Binding Path="SelectedItem" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=ListView}"/>
</MultiBinding>
</RadioButton.IsChecked>
</RadioButton>
<TextBlock Text="{Binding}" VerticalAlignment="Center" Margin="5,0,0,0" Style="{DynamicResource RedTextBlock}"/>
</StackPanel>
我遇到的问题是,如果用户单击自定义控件的文本块,则会发生正确的事情,即选择项目(并且视图模型会相应更新),但是如果用户单击单选按钮自定义控件的单选按钮变为选中状态,但所选项目未更新,并且先前选择的项目未取消选择。
谁能帮忙解决这个问题?
【问题讨论】: