Я хочу сделать метку с атрибутом FontWeight зависимой от флажка.
Если флажок установлен, то вес шрифта метки выделен жирным шрифтом, если нет - тогда вес шрифта нормальный.Я решил связать атрибут FontWeight в метке с флажком и добавить конвертер.
Вот экран, который я хочу достичь (текст внизу должен быть выделен жирным шрифтом, когда отмечен жирный шрифт) введите описание изображения здесь
Я создал всю логикуи привязка, но когда я нажимаю на флажок Bold, ничего не происходит.
Вот что у меня есть
MainWindow.xaml
<Window ...
...
<Window.Resources>
<local:BoolToStringConverter x:Key="custom" TrueValue="Bold" FalseValue="Normal" />
</Window.Resources>
<Grid>
...
<CheckBox Name="BoldField" Margin="5" FontWeight="Bold">Bold</CheckBox>
<Label Name="text" Grid.Row="3" Grid.ColumnSpan="3"
FontWeight="{Binding BoldField, Converter={StaticResource custom}}" />
...
</Window>
MainWindow.xaml.cs
namespace Wpf03
{
public class BoolToValueConverter<T> : IValueConverter
{
public T FalseValue { get; set; }
public T TrueValue { get; set; }
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return FalseValue;
else
return (bool)value ? TrueValue : FalseValue;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value != null ? value.Equals(TrueValue) : false;
}
}
public class BoolToStringConverter : BoolToValueConverter<FontWeight> { }
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}
Я пробовал с разными конвертерами, но безрезультатно.Почему мой конвертер никогда не называется?Есть идеи?