2017-02-03 5 views
0

私のMainPageはSplitViewを持っていて、SplitViewのStartPageのフレームにロードします。私は例えば、私のスタートページからメインページにXAMLオブジェクトにアクセスするにはどうすればよいFrameに読み込まれたページからSplitView.Pane内のTextBlockからテキストを変更するにはどうすればよいですか?

私はスタートページ

メインページのXAMLからSplitView.PaneでのTextBlockユーザーのテキストを変更するにはどうすればよい

<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)); 

StartPa GE CS:

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

答えて

1

あなたがそれにx:FieldModifier="public"を使用してTextBlockのフィールドを公開することができます。その後、別のクラスからアクセスできますが、MainPageクラスのインスタンスが必要です。私はそれのために私のアプリで静的なプロパティを使用します。

public static MainPage Current { get; private set; } 

そして、あなたであなたはこのようにそれを割り当てる必要があり、コンストラクタメインページ:次に、あなたがこれを使用して別のクラスからあなたのTextBlockのTextプロパティを設定することができ

Current = this; 

を:

MainPage.Current.User.Text = "new text"; 
関連する問題