WPF应用程序我继承包含如下类似的模式XAML的显著量:找到一个更好的方式来编写复杂的用户界面WPF
<Window ...>
<Grid>
<z:SomeUserControl>
<z:AnotherUc>
<Label /> <Button /> <ComboBox />
</z:AnotherUc>
<z:AnotherUc>
<Label /> <Button /> <ComboBox />
</z:AnotherUc>
</z:SomeUserControl>
</Grid>
</Window>
换句话说,我们的UI部分由用户控件分组,通常嵌套在其他UserControl内。在某些时候,内容是使用基本的WPF内容控件定义的。
我们试图应对的问题是,在X:名称属性不能被应用于任何最内部控制,由于臭名昭著的WPF限制:
这提出了一个问题,因为代码隐藏需要能够引用UserControl中的元素。用户控件被选中以将用户界面的一部分分组,因为所有的默认控件的样式和模板都是因为太笨拙和标记很快变成了一个可怕的,难以理解的混乱。
但是,如果微软无意解决这个所谓的“限制”,那么必须找到更好的方法。考虑到已使用CS +外部XAML模板文件,请参见GaryGJohnson
在连接站点上的解决方法。然而,这有一种sphagetti的感觉,任何中断绑定的东西都是不行的。
我遇到了类似的问题,我使用了CustomControl项目。但是现在我知道一切都可以使用MVVM和行为来完成。所以我尽量避免使用x:Name属性。 – vorrtex 2011-01-24 20:14:17