كيف يمكنني تحديد عنصر تحكم كخاصية في التحكم المستخدم بلدي في برنامج الأغذية العالمي؟

StackOverflow https://stackoverflow.com/questions/611928

  •  03-07-2019
  •  | 
  •  

سؤال

بلادي XAML:

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

بلدي C #:

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

وكيف يمكنني تعيين الخاصية TargetTextBox في XAML؟

هل كانت مفيدة؟

المحلول

ويجب أن تكون قادرة على القيام به:

<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); }
    }

}

ويجب أن توضع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top