我有一个 Silverlight 应用程序,其中我有一个 MainPage,我需要在子窗口中分配一个变量 Name 并在不使用子对象的情况下分配它。我需要通过 XAML 将此值绑定到 Childwindow 中的文本框。怎么做到呢?
到目前为止,我所做的是在子窗口中使用依赖属性:
nameProp = DependencyProperty.Register("strName", typeof(string), typeof(TestWindow), new PropertyMetadata(null, new PropertyChangedCallback(OnNameChange)));
static TestWindow()
{
nameProp = DependencyProperty.Register("strName", typeof(string), typeof(TestWindow), new PropertyMetadata(null, new PropertyChangedCallback(OnNameChange)));
}
private static void OnNameChange(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
d.SetValue(nameProp, e.NewValue);
}
public string strName
{
get {
return (string)GetValue(nameProp);
}
set {
SetValue(nameProp, value);
}
}
在 TestWindow XAML 中我尝试绑定它:
<TextBox Text="{Binding Path=strName}" Height="23" HorizontalAlignment="Left" Margin="126,84,0,0" Name="txtName" VerticalAlignment="Top" Width="120"/>
如何从 MainPage 设置此 dp 的值。或者有没有更好的选择?