WPF의 사용자 컨트롤에서 컨트롤을 속성으로 지정하려면 어떻게해야합니까?

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

  •  03-07-2019
  •  | 
  •  

문제

내 xaml :

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

내 C#:

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

XAML에서 TargetTextBox 속성을 어떻게 설정합니까?

도움이 되었습니까?

해결책

할 수 있어야합니다.

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

그러나이를 위해서는 TargetTextBox가 종속성 사전이어야합니다. 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