WPFのユーザーコントロールでプロパティとしてコントロールを指定するにはどうすればよいですか?
-
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が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); }
}
}
そして設定する必要があります。
所属していません StackOverflow