我在WPF中看到一个有数据限制的无线电台清单箱,以应对用户的投入,并反映它所约束的数据的变化(即改变代码)。 用户投入方进行罚款(即,我可以选择一个无线电布局,名单按预期操作)。 但是,改变法典选择的每一尝试都失败了。 沉默(即无例外)。
兹将XAML的有关部分(我想):
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="{x:Type ListBoxItem}" >
<Setter Property="Margin" Value="2" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border Name="theBorder" Background="Transparent">
<RadioButton Focusable="False" IsHitTestVisible="False"
IsChecked="{Binding Path=IsSelected, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" >
<ContentPresenter />
</RadioButton>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
我将清单箱装到学校目标清单中。 “学校财产”包括一个称为IsS当选的财产:
public bool IsSelected
{
get { return isSelected; }
set
{
if( value != isSelected )
{
isSelected = value;
this.OnPropertyChanged("IsSelected");
}
}
}
在我试验期间,“OnpertyChanged()”是我所言。 它没有解决问题。
诸如下列情况:
((SchoolInfo) lbxSchool.Items[1]).IsSelected = true;
lbxSchool.SelectedIndex = 1;
他们无声无声地 fail击——没有例外,但德国马克没有显示正在选择的项目。