プログラムでチェックボックス列を追加するデータグリッドがあります。この列には、バインドする必要のある列挙型がありますが、checkboxcolumnはbool値のみを取るため、コンバーターを使用しています。また、ターゲットのチェックボックスが変更されたときにソースを更新する必要があります。チェックボックスをオンにするとコードがソースを更新しますが、フォーカスを失うとすぐにチェックボックス(チェックマーク)が消えます。チェックボックスのチェックを持続させるにはどうすればよいですか?
UpdateSourceTrigger
他の値を試しましたが、機能しません。
以下はcheckboxcolumnのコードです
Binding binding = new Binding("GridCRUDStatus") { Converter = new CheckBoxColConverter(), Mode = BindingMode.TwoWay, UpdateSourceTrigger = UpdateSourceTrigger.Explicit };
DataGridCheckBoxColumn chkCol = new DataGridCheckBoxColumn() { Header = "Select", Binding = binding };
コンバータークラス
internal class CheckBoxColConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
GridCRUDStatus status;
if (Enum.TryParse<GridCRUDStatus>(value.ToString(), out status))
{
if (status == GridCRUDStatus.Selected)
return true;
}
return false;
//throw new NotImplementedException();
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool chkValue;
if (Boolean.TryParse(value.ToString(), out chkValue))
{
if (chkValue)
return GridCRUDStatus.Delete;
}
return GridCRUDStatus.Read;
//return null;
}
#endregion
}
ネットで検索してみましたが、解決策が見つかりませんでした。私の側からさらに情報が必要な場合はお知らせください。
助けてください!前もって感謝します。
よろしく、
サマール