簡體   English   中英

如何從WPF中的子頁面訪問父窗口的控件?

[英]How can I access control of parent window from child page in WPF?

我有一個窗口“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>

“p1.xaml”:

<Page x:Class="WpfApplication.p1">
    <Grid>
        <Button x:Name="button_1"
            Click="Button_Click" />
    </Grid>

“p1.xaml.cs”:

private void Button_Click_Upload(object sender, RoutedEventArgs e)
{
    //set text of textBox_1
}

你可以做

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";
}

如果你不反對緊耦合,只需通過屬性或構造函數參數鏈接“w”和“p1”。你可能想要添加一個接口'Iw'來松散你的耦合。 另一個選擇是為你需要在p1中訪問的w子項添加依賴項屬性,然后使用相對綁定綁定它們。 PS如果您顯示了一些代碼,那么理解您所追求的內容要容易得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM