在 WPF 数据网格中只允许选中一个单选按钮
Allow only one radio button to be checked in a WPF datagird
我的数据网格绑定到一个可观察的集合,数据网格有两列 - 一列用于单选按钮,另一列用于显示名称。
目前,我可以在数据网格上制作多个 select 离子,但我的要求是一次只 select 一个单选按钮,这样 selected 单选按钮应该通知关于 selected 用户名的视图模型。
我怎样才能实现它?
这是我尝试过的:
<DataGrid Width="{Binding ActualWidth, ElementName=panel}"
ItemsSource="{Binding obvUsers}"
Height="390" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<RadioButton IsChecked="{Binding IsUserSelected}"
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding UserName}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
只需为您的 RadioButton
输入 GroupName
。 DataGrid
中的所有 RadioButton
都应该有一个选择,因为他们有相同的组。
这对我有用。
<DataGridTemplateColumn Header="" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<RadioButton GroupName="abc" IsChecked="{Binding IsUserSelected}">
</RadioButton>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我的数据网格绑定到一个可观察的集合,数据网格有两列 - 一列用于单选按钮,另一列用于显示名称。 目前,我可以在数据网格上制作多个 select 离子,但我的要求是一次只 select 一个单选按钮,这样 selected 单选按钮应该通知关于 selected 用户名的视图模型。 我怎样才能实现它?
这是我尝试过的:
<DataGrid Width="{Binding ActualWidth, ElementName=panel}"
ItemsSource="{Binding obvUsers}"
Height="390" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<RadioButton IsChecked="{Binding IsUserSelected}"
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Name">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding UserName}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
只需为您的 RadioButton
输入 GroupName
。 DataGrid
中的所有 RadioButton
都应该有一个选择,因为他们有相同的组。
这对我有用。
<DataGridTemplateColumn Header="" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<RadioButton GroupName="abc" IsChecked="{Binding IsUserSelected}">
</RadioButton>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>