通过XAML访问用户控件的属性

时间:2012-02-28 10:19:43

标签: wpf user-controls

我创建了一个Button的用户控件,其中分配了TextBlockImage

<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" />

如何在XAML中设置txtButtonContent TextBlock的内容?我以为我能写:

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

我知道我可以在btnAddImportTemplate.txtButtonContent.Text = "whatever";的代码中执行此操作 但我希望能够在XAML中设置它。我在研究了这个问题后添加了x:FieldModifier,但这没有帮助。

1 个答案:

答案 0 :(得分:2)

您应该将公共属性添加到User Control类

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

 // Rest of the class

} 

现在可以从XAML设置MyText