gpt4 book ai didi

c# - 如何从数据绑定(bind)中的转换器获取依赖属性

转载 作者:太空宇宙 更新时间:2023-11-03 13:51:25 25 4
gpt4 key购买 nike

Rectangle rectangle = new Rectangle();
rectangle.StrokeThickness = 10;
rectangle.Height = 200;
rectangle.Width = 100;

//Self defined propety
Boolean AutoSize = false;
rectangle.DataContext = AutoSize;

//Add binding
Binding bind = new Binding(rectangle.DataContext);
bind.Mode = BindingMode.OneWay;
bind.Converter = ConvertAutoSize2Height;
bindingList.Add(bind);

canvas.Children.Insert(0, rectangle);

//Value converter
[ValueConversion(typeof(Boolean), typeof(Double))]
public class ConvertAutoSize2Height : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Boolean autoSize = (Boolean)value;
if (autoSize)
return Double.NaN;
else
return **<<<I wanna return original height if autosize is false>>>**;
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

请检查转换器,如果 autosize 为 false,我想返回矩形的原始高度。

最佳答案

这似乎是一个首选的解决方案,所以我将发表评论作为答案。

您可以使用多重绑定(bind)和 IMultiValueConverter 来实现这一点。然后您可以绑定(bind)自动调整大小和原始高度值并在转换器中处理它。

查看此链接以获取有关多重绑定(bind)的更多信息:http://blog.csainty.com/2009/12/wpf-multibinding-and.html .

关于c# - 如何从数据绑定(bind)中的转换器获取依赖属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13590580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com