IsCheckedはブール値(true / false)を想定していますが、テーブルには数値型が含まれています。数値をブール値に変換するValueConverterをバインディングステートメントに追加する必要があります。
逆の場合は、WPFでブール値をコンボボックスにバインドする方法を確認してください(ブール値をintに変換します)。あなたの場合、ValueConverterは次のようになります。
public class NumToBoolConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((int)value == 1);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return (bool)value ? 1 : 0;
}
}
}
アップデート
この投稿には、タイプチェックとヌルチェックも行うNumToBoolConverterがあります。
public class NumToBoolConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
if (value!=null && value is int )
{
var val = (int)value;
return (val==0) ? false : true;
}
return null;
}
public object ConvertBack(object value, Type targetType,
object parameter, System.Globalization.CultureInfo culture)
{
if (value!=null && value is bool )
{
var val = (bool)value;
return val ? 1 : 0;
}
return null;
}
#endregion
}