2012-02-28 43 views
1

訪問用戶控件的屬性我創建了一個用戶控件是一個ButtonTextBlock,並分配給它的Image通過XAML

<UserControl x:Class="App_Designer.Resources.ucDropDownButton" ... /> 
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal" VerticalAlignment="Top" Margin="10"> 
<Button x:Name="ButtonDropDown"> 
    <StackPanel Orientation="Horizontal"> 
     <Image Name="imgButton" Margin="0,0,5,0" VerticalAlignment="Center"    x:FieldModifier="public"></Image> 
     <TextBlock Name="txtButtonContent" x:FieldModifier="public"></TextBlock> 
    </StackPanel> 
</Button> 

如果我引用它在我的頁:

<local:ucDropDownButton x:Name="btnAddImportTemplate" />

如何設置txtButtonContent內容XAML中的?我以爲我能寫:

<local:ucDropDownButton x:Name="btnAddImportTemplate" txtButtonContent.Text="whatever" />

我知道我可以btnAddImportTemplate.txtButtonContent.Text = "whatever"; 做在的代碼,但我希望能夠將其設置在XAML本身。在研究問題之後,我添加了x:FieldModifier,但這沒有幫助。

回答

2

您應該添加一個公共屬性在用戶控件類

public partial class ucDropDownButton 
{ 
    public string MyText 
    { 
     get { return txtButtonContent.Text } 
     set { txtButtonContent.Text = value } 
    } 

// Rest of the class 

} 

MYTEXT現在將有可能從XAML

設置
+0

感謝您的!現在你已經提到它,這似乎很明顯,但我仍然沒有完全理解WPF的思維方式。 – GrandMasterFlush 2012-02-28 10:38:42

+0

不客氣。樂意效勞。 – Tormod 2012-02-28 12:21:13