我有一个窗口" w"有几个控件和一个框架" f"。我使用页面" p1,p2,.."替换" f"。我想访问" w"来自" p1"。我怎样才能做到这一点?
" w.xaml":
<Window x:Class="WpfApplication.w">
<Grid>
<TextBox x:Name="textBox_1" />
<Frame x:Name="mainFrame" />
</Grid>
</window>
&#34; p1.xaml&#34;:
<Page x:Class="WpfApplication.p1">
<Grid>
<Button x:Name="button_1"
Click="Button_Click" />
</Grid>
&#34; p1.xaml.cs&#34;:
private void Button_Click_Upload(object sender, RoutedEventArgs e)
{
//set text of textBox_1
}
答案 0 :(得分:4)
你可以做到
private void Button_Click_Upload(object sender, RoutedEventArgs e)
{
((w)App.Current.MainWindow).textBox_1.Text = "Your Text";
//or
((w)Window.GetWindow(this)).textBox_1.Text = "Your Text";
}
答案 1 :(得分:0)
如果你不反对紧耦合,只需通过属性或构造函数参数链接“w”和“p1”。你可能想要添加一个接口'Iw'来松散你的耦合。 另一个选择是为你需要在p1中访问的w子项添加依赖项属性,然后使用相对绑定绑定它们。 附: 如果您展示了一些代码,那么理解您所追求的内容要容易得多。