Доступ к свойствам пользовательского элемента управления через XAML - PullRequest
1 голос
/ 28 февраля 2012

Я создал пользовательский элемент управления, который представляет собой Button с TextBlock и назначенным ему Image:

<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 TextBlock в XAML?Я предполагал, что смогу написать:

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

Я знаю, что могу сделать это в коде с btnAddImportTemplate.txtButtonContent.Text = "whatever";, но я бы хотел установить его вСам XAML.Я добавил x: FieldModifier после исследования проблемы, но это не помогло.

1 Ответ

2 голосов
/ 28 февраля 2012

Вы должны добавить публичное свойство в класс User Control

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

 // Rest of the class

} 

Теперь можно установить MyText из XAML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...