UWP

2016-05-07 10 views
3
私が開始する方法を知らない

に別のページの値を取得するので、私はちょうどスクリーンショットを開始し、それをコードする方法:UWP

The Textbox.Text-Value should also be in the Textblock at the Bottom here


MainPage.xamlを

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition/> 
     <RowDefinition Height="48"/> 
    </Grid.RowDefinitions> 

    <Frame x:Name="MainContent"/> 

    <Grid Grid.Row="1" Background="Gray"> 
     <TextBlock x:Name="ResultTB" 
        VerticalAlignment="Center" 
        Text="Should also be here" 
        HorizontalAlignment="Center"/> 
    </Grid> 

</Grid> 

MainPage.xaml.cs

public MainPage() 
    { 
     InitializeComponent(); 
     MainContent.Navigate(typeof(ContentFrame)); 
    } 

ContentFrame.xaml

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <TextBox x:Name="Input" 
      VerticalAlignment="Center" 
      HorizontalAlignment="Center" 
      Width="200"/> 
</Grid> 

今私は、入力のテキストResultTB GRADたいです。これを行うための最も簡単で最善の方法は何ですか?

答えて

0

あなたは、Navigateメソッドのオーバーライドを使用することができますFrame.Navigate(TypeName, Object)

オブジェクトがパラメータです。 OnNavigatedToイベントの別のページに入ることができます。ような何か:

string txt=ResultTB.Text; 
MainContent.Navigate(typeof(ContentFrame), txt); 

と別のページには、OnNavigatedToイベントを追加し、内側:

var parameter = e.Parameter as string; 
+0

うん、しかし、両方が既にロードされているとき、私は意味、私はテキストを変更します。他のフレームのResultTB-Textblockに値を変更するように指示するにはどうすればよいですか? – Flauschcoder

+1

これを行う最善の方法は、MVVMデザインパターンを使用することです。両方のページに共通のView-Modelを作成すると、文字列プロパティが更新されるたびに他のコントロールも更新されることを意味します。 –

+0

文字どおり、グローバルオブジェクトを作成し、それにデータをバインドすることができます –