DataGridでデータをソートしたときのラジオボタンのバグ
以下の条件を満たすと、DataGrid内に配置されたラジオボタンのチェックが
外れることがある。
- RadioButtonのIsCheckedプロパティにデータバインディングを設定
- RadioButtonのGroupNameプロパティを設定
- ラジオボタンをチェック
- 列はどこでも良いので列ヘッダーをクリックし、ソートを実施
- 降順ソート
[XAML] <UserControl x:Class="NXDataGridTest.SilverlightControl2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <Grid x:Name="LayoutRoot" Background="White"> <data:DataGrid Height="200" Width="300"> <data:DataGrid.Columns> <data:DataGridTemplateColumn Header="選択"> <data:DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <RadioButton IsChecked="{Binding IsSelect, Mode=TwoWay}" GroupName="Grp1"/> </DataTemplate> </data:DataGridTemplateColumn.CellEditingTemplate> </data:DataGridTemplateColumn> </data:DataGrid.Columns> </data:DataGrid> </Grid> </UserControl>
GroupNameを設定しなければチェックは消えないが、それでは複数選択できてしまうため
意味がない。
解決策を模索中(てか、バグなんだからそのうち修正がくるだろうが)