チェックボックスは同じ名前であってはなりません。
バインディングと IValueConverter が必要です。
<stackPanel Name="StudentDetails">
<checkBox Name="Left"
Content="(M)"
IsChecked="{Binding Student.Name, Converter={StaticResource StudentCheckedConverter}, ConverterParameter="M"}" />
<checkBox Name="Left"
Content="(F)"
IsChecked="{Binding Student.Name, Converter={StaticResource StudentCheckedConverter}, ConverterParameter="F"}" />
<Label Content="{Binding Student.Name}" />
</stackPanel>
IValueConverter は次のようになります。
public class StudentCheckedConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if ("M".Equals(parameter))
return "Sam".Equals(value);
if ("F".Equals(parameter))
return "Lucie".Equals(value);
throw new Exception("Unknown parameter or value");
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
また、XAML のリソースで StudentCheckedConverter を公開する必要がありますが、ちょっとしたグーグル検索でうまくいくと思います。