【发布时间】:2013-12-30 22:17:22
【问题描述】:
我到处搜索,所以如果我要重复发布,请原谅我。
我需要一个边界控件的 ActualHeight 属性的绑定。我已经使用这篇文章开始: Binding to ActualWidth does not work
这反过来又把我带到了这个博客: http://darutk-oboegaki.blogspot.com/2011/07/binding-actualheight-and-actualwidth.html
我已经为 SizeChange 实现了一个类,并且在代码领域看起来一切都很好。
我的控件是在运行时创建的,所以我创建了控件,并根据基于 XAML 的代码为“IsEnabled”添加了一个属性
border.SetValue( SizeChange.IsEnabledProperty, true );
我已通过调试代码对其进行了检查,它正在正确更新 SizeChange.ActualHeight。接下来我尝试将另一个运行时创建的控件绑定到这个:
Binding weekHeight = new Binding( "SizeChange.ActualHeight" );
weekHeight.Mode = BindingMode.OneWay;
weekHeight.Source = border;
border2.SetBinding( Border.HeightProperty, weekHeight );
现在,基于 XAML 的解决方案要求绑定“local_ui:SizeChange.ActualHeight”,但如果我尝试这样做会导致运行时错误,而我使用了“SizeChange.ActualHeight”,它通过但它没有更新大小由我控制。
我尽量保持直截了当,所以如果我遗漏了什么,请原谅我。
非常感谢!
【问题讨论】:
-
为什么需要实际身高?你想达到什么目的?
-
漂亮的技术,顺便说一句 - 很好的发现!
-
边框控件 ActualHeight 没有更新,Silverlight 错误,因此需要解决它,因为另一个控件需要将其高度设置为相同。
标签: c# silverlight binding