2012-02-28 30 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