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