いくつかのレコードを持つデータ グリッドがあります。4 つの列しかないため、グリッドは非常に単純です。グリッドの最後の 2 列は、それぞれ 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; }
}