0
在我的項目中,我有一個UserControl,其中包含兩個子控件,分別表示一個文本框和一個按鈕。文本框的App.xaml中編寫了一個常用樣式。所以這種風格將適用於該用戶控件的文本框和tat文本框中,當我試圖讓TemplatedParent它是空的。如何從文本框中獲取UserControl,以便可以使用文本框樣式獲取Usercontrol中的屬性。TemplatedParent未設置爲UserControl的子項
在我的項目中,我有一個UserControl,其中包含兩個子控件,分別表示一個文本框和一個按鈕。文本框的App.xaml中編寫了一個常用樣式。所以這種風格將適用於該用戶控件的文本框和tat文本框中,當我試圖讓TemplatedParent它是空的。如何從文本框中獲取UserControl,以便可以使用文本框樣式獲取Usercontrol中的屬性。TemplatedParent未設置爲UserControl的子項
TemplatedParent
可用於ControlTemplate
。
對於需要使用RelativeSource
的模式,其模式設置爲FindAncestor
和AncestorType
設置爲UserControl
。
假設你想從TextBox Style
設置Text
到Name of UserControl
,你可以這樣說:
<Style TargetType="TextBox">
<Setter Property="Text"
Value="{Binding Path=Name,
RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType=UserControl}}"/>
</Style>
您的代碼將工作正常的默認用戶控件的屬性,但同時去爲我的自定義用戶控件,它不工作。 '' – Sankarann
不,它也可以。發佈相關代碼。它將在'UserControl'位於TextBox的父Visual Tree中的情況下工作。 –
根據可視樹,它將工作,但它不工作..這是問題。 – Sankarann