我有一个包含几条记录的数据网格。网格非常简单,因为它只有四列。网格的最后两列分别是 Option1 和 Option2。现在我在这里遇到一个问题,如果从 Option1 列中选择行的复选框,然后如果我要在同一行上选择 Option2,那么从该行中选择的 Option1 应该被取消选择。我也尝试使用单选按钮,但它不工作,因为它选中或取消选中整行。我希望操作应该发生在同一行。
谢谢
代码-
<Window x:Class="Convertor.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<DataGrid x:Name="dgEmp" CanUserAddRows="False" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Binding="{Binding Path=Id}" Width="*"></DataGridTextColumn>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" Width="*"></DataGridTextColumn>
<DataGridTemplateColumn Header="Option1" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="ch1"></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Option2" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox x:Name="ch2" ></CheckBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
private ObservableCollection<Emp> _empList;
public MainWindow()
{
InitializeComponent();
BindEmpDetails();
}
private void BindEmpDetails()
{
_empList = new ObservableCollection<Emp>()
{
new Emp(){Id=1,Name="XYZ"},
new Emp(){Id=1,Name="ABC"},
};
dgEmp.ItemsSource = _empList;
}
}
public class Emp
{
public int Id { get; set; }
public string Name { get; set; }
public bool Working { get; set; }
public bool Retired { get; set; }
}