Как указать элемент управления в качестве свойства в моем пользовательском элементе управления в WPF? - PullRequest
1 голос
/ 04 марта 2009

Мой XAML:

<TextBox x:Name="myTextBox" .../>
<MyExtender TargetTextBox=? .../>

Мой C #:

MyExtender : UserControl
{
    public TargetTextBox { get; set; }
}

Как мне установить свойство TargetTextBox в XAML?

1 Ответ

0 голосов
/ 04 марта 2009

Вы должны быть в состоянии сделать:

<TextBox Name="tb">Something</TextBox>
<my:MyExtender TargetTextBox="{Binding ElementName=tb}" />

, но для этого требуется, чтобы TargetTextBox был DependencyProperty. Измените MyExtender.xaml.cs на:

 public partial class MyExtender : System.Windows.Controls.UserControl
{
    public MyExtender()
    {
        InitializeComponent();
    }
    public static readonly DependencyProperty TargetTextBoxPropery = 
        DependencyProperty.Register("TargetTextBox", typeof(TextBox), typeof(MyExtender));

    public TextBox TargetTextBox
    {
        get { return (TextBox)GetValue(TargetTextBoxPropery); }
        set { SetValue(TargetTextBoxPropery, value); }
    }

}

И вы должны быть установлены.

...