请考虑以下代码:
<MyControl DataContext="{Binding DataObject}" Text="{Binding DisplayText}"/>
据我所知,XAML 属性是按声明顺序分配的。但是,在XML方面,依赖于它是一个糟糕的设计。我想我可以将其重写为如下所示:
<Grid DataContext="{Binding DataObject}">
<MyControl Text="{Binding DisplayText}"/>
</Grid>
但是,仅仅为语义放置网格对我来说似乎是错误的。
你觉得怎么样?
谢谢!
维塔利
我对你的问题有点困惑。设置这些属性的顺序并没有真正的区别。当 text 属性设置为绑定时,它所做的只是创建一个绑定到 Text 属性并具有"DisplayText"路径的绑定。只要在计算绑定时(稍后发生)设置 DataContext,就可以了。
无论如何都不
建议使用网格,因为它的效果性能,如果你没有chiose(没有父级来放置上下文),请使用边框