我创建了一个用户控件,它是一个分配了TextBlock
和Image
的Button
:
<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,但这并没有帮助。
您应该在用户控制类中添加一个公共属性
public partial class ucDropDownButton
{
public string MyText
{
get { return txtButtonContent.Text }
set { txtButtonContent.Text = value }
}
// Rest of the class
}
MyText现在可以从XAML 设置