如何从WPF的子页面访问父窗口的控件?

swa*_*aha 3 wpf wpf-controls

我有一个带有多个控件的窗口“ w”和一个框架“ f”。我使用页面“ p1,p2,..”替换“ f”。我想从“ p1”访问“ w”的控件。我怎样才能做到这一点?

“ w.xaml”:

<Window x:Class="WpfApplication.w">
    <Grid>
        <TextBox x:Name="textBox_1" />
        <Frame x:Name="mainFrame" />
    </Grid>
</window>
Run Code Online (Sandbox Code Playgroud)

“ p1.xaml”:

<Page x:Class="WpfApplication.p1">
    <Grid>
        <Button x:Name="button_1"
            Click="Button_Click" />
    </Grid>
Run Code Online (Sandbox Code Playgroud)

“ p1.xaml.cs”:

private void Button_Click_Upload(object sender, RoutedEventArgs e)
{
    //set text of textBox_1
}
Run Code Online (Sandbox Code Playgroud)

KAN*_*NAX 6

你可以做

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";
}
Run Code Online (Sandbox Code Playgroud)