Wpf 选中复选框时是否更改高度?
我正在尝试将元素的高度值绑定到Checkbox.IsChecked属性。为什么不起作用Wpf 选中复选框时是否更改高度?,wpf,Wpf,我正在尝试将元素的高度值绑定到Checkbox.IsChecked属性。为什么不起作用 <Window.Resources> <local:BoolToHeightConverter x:Key="BoolToHeightConverter"/> </Window.Resources> <Button Name="JustBtn" Content="Hello World"/> <CheckBox IsChecked="
<Window.Resources>
<local:BoolToHeightConverter x:Key="BoolToHeightConverter"/>
</Window.Resources>
<Button Name="JustBtn" Content="Hello World"/>
<CheckBox IsChecked="{Binding ElementName=JustButton, Path=Height, Converter=BoolToHeightConverter}" />
[ValueConversion(typeof(Nullable<bool>), typeof(double))]
public class BoolToHeightConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return double.NaN;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
[值转换(typeof(可空)、typeof(双精度))]
公共类布尔高度转换器:IValueConverter
{
公共对象转换(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
返回double.NaN;
}
公共对象转换回(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
返回null;
}
}
它甚至没有初始化窗口。说:
“IValueConverter”类型没有公共类型转换器类存在两个问题。首先,当选中
复选框时,看起来您正试图修改Height属性。如果是这种情况,您应该在转换器的ConvertBack
方法中实现您的逻辑,并在绑定上指定模式。其次,绑定应使用静态资源
引用转换器:
<CheckBox IsChecked="{Binding ElementName=JustButton, Path=Height, Converter={StaticResource BoolToHeightConverter}, Mode=OneWayToSource}" />
对不起-我的错:我忘了通过StaticResource连接转换器。
对不起,伙计们