我有一些绑定到 DataGrid 的对象。我创建了一个与对象的“Is Default”属性绑定的单选按钮列。
当应用程序启动时,正确的项目被显示为默认值,但是绑定随后永远不会更新。我希望的行为是让用户选中一个单选框,然后将该对象设为默认值。
<DataGrid CanUserAddRows="False" AutoGenerateColumns="False" Name="TEst" >
<DataGrid.Columns >
<DataGridTextColumn Header="Value" Binding="{Binding Path=Name, Mode=OneTime}"/>
<DataGridTemplateColumn Header="Is Default">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<RadioButton GroupName="Test" IsChecked="{Binding IsDefault}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
private class Test : INotifyPropertyChanged
{
public string Name
{
get;
set;
}
bool isDefult;
public bool IsDefault
{
get
{
return isDefult;
}
set
{
isDefult = value;
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
public MainWindow()
{
this.InitializeComponent();
Test[] ya = new Test[] { new Test { Name = "1", IsDefault = false }, new Test { Name = "2", IsDefault = false }, new Test { Name = "3", IsDefault = true } };
this.TEst.ItemsSource = ya;
}
我整个下午一直在为这个问题苦恼,希望能得到帮助。