Как добавить пользовательские атрибуты XAML в класс, который наследует UserControl? - PullRequest
4 голосов
/ 09 мая 2011

У меня есть пользовательский UserControl, и я хочу дать ему пользовательское свойство "MyProperty", которое я могу установить в XAML.Чтобы мой XAML выглядел так:

<EventDet:EventAddressControl 
            MyCustomProperty="formattype"     
            x:Name="EventSessionLocationControl"/>

Как мне дать UserControl собственный атрибут / свойство, которое я затем могу установить в XAML?

Ответы [ 3 ]

8 голосов
/ 09 мая 2011

Если вы используете CLRProperty, вы не можете использовать его для привязки.

 public partial class MyCustomControl : UserControl
{
    public MyCustomControl()
    {
        InitializeComponent();
    }

    public string MyCLRProperty { get; set; }

    public string MyProperty
    {
        get { return (string)GetValue(MyPropertyProperty); }
        set { SetValue(MyPropertyProperty, value); }
    }

    // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty MyPropertyProperty =
        DependencyProperty.Register("MyProperty", typeof(string), typeof(MyCustomControl ));
}
 <my:MyCustomControl MyProperty="{Binding BindingProperty}"
                     MyCLRProperty="MyCLRProperty"/>
2 голосов
/ 09 мая 2011

Просто поместите обычный DependencyProperty в свой класс.

1 голос
/ 09 мая 2011

Если вы просто хотите установить значение из xaml, вы можете использовать обычное свойство.Если вы хотите использовать свойство с триггерами, стилями и т. Д., Вам нужно будет использовать свойство зависимостей, чтобы воспользоваться этими функциями WPF

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