我试图让2个控件具有相同的高度.我可以只使用XAML吗?
如果我做了类似< Canvas Height =“{Binding Height,ElementName = AnotherControl}”/>它实际上没有做任何事情,高度变为零.输出面板不会抱怨任何绑定错误,因此AnotherControl.Height确实存在.我尝试绑定到ActualHeight,但它也没有做任何事情.
我错过了什么?
我的猜测是你的AnotherControl没有明确给出高度.不幸的是,在WinRT中(与
WPF不同,但与Silverlight相同),ActualWidth和ActualHeight就是所谓的“计算属性”.这意味着属性更改事件在更改时不会在内部引发.因此,绑定它们并不可靠,正如您所注意到的那样,它不会起作用.
旁注:它可能会不时地工作,但这纯粹是因为绑定框架对ActualHeight进行了get调用的时间.
就目前而言,您不能仅使用XAML.您必须在代码隐藏中处理ActualControl.SizeChanged事件,并将Height显式设置为AnotherControl.ActualHeight.