簡體   English   中英

如何在SplitView.Pane中從加載到Frame的頁面中的TextBlock中更改文本?

[英]How can I change the text from a TextBlock in a SplitView.Pane from a page loaded into a Frame?

我的MainPage有一個SplitView,然后我將StartPage加載到SplitView的Frame中。

如何從我的StartPage訪問MainPage中的xaml對象,例如:

如何從起始頁更改SplitView.Pane中TextBlock用戶的文本

主頁xaml:

<SplitView x:Name="MySplitView" DisplayMode="Inline" IsPaneOpen="True" OpenPaneLength="243">
    <SplitView.Pane>
        <StackPanel Background="#222d32" Padding="10,20">
            <TextBlock x:Name="User" Foreground="#ffffff" TextWrapping="Wrap"/>
        </StackPanel>
    </SplitView.Pane>
    <Frame Name="MainFrame">

    </Frame>
</SplitView>

主頁cs:

this.InitializeComponent();
MainFrame.Navigate(typeof(StartPage));

起始頁CS:

public sealed partial class StartPage : Page
{
    public StartPage()
    {
        this.InitializeComponent();
    }
}

您可以使用x:FieldModifier="public"將TextBlock字段x:FieldModifier="public" 然后,您可以從其他類訪問它,但是您需要MainPage類的實例。 為此,我在應用程序中使用了靜態屬性。

public static MainPage Current { get; private set; }

在MainPage構造函數中,您必須像這樣分配它:

Current = this;

然后,您可以使用以下其他類在TextBlock上設置Text屬性:

MainPage.Current.User.Text = "new text";

暫無
暫無

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

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