私はMainPage.xaml
を2つの部分に分割しました。左の部分には新しいページで右の部分を変更するコマンドを与えるいくつかのボタンがあります。そこで私は元のページを3つ作成しました。 RightPage1
,RightPage2
およびRightPage3
。問題は、RightPage1
、2または3の操作を実行した後、左側の部分にデータを表示することです。 この方法を実行するには、いくつかのパターンを実行する必要がありますか?コードの背後で直接行うことができますか?ユニバーサルウィンドウアプリケーションは、あるページから別のページにデータを送信します
私が調査したのは、そのページに移動してデータをパラメータで送信するという解決策でした。しかし、もう一度ページを開くことは望ましくありません。なぜなら、既に開いているのはMainPage
です。この状況を解決するために私を助けてください。
RightPage 1では、Submit ClickイベントでMainPage.xaml
の左の部分にTextBlock
lblClassNameにメッセージを表示したいとします。
HomePage.xaml
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<RelativePanel>
<Button x:Name="btn1"
Content="Button 1"
Height="50" Width="100" Margin="0,30,0,0"
RelativePanel.AlignHorizontalCenterWithPanel="True"
Click="btn1_Click"/>
<Button x:Name="btn2"
Content="Button 2"
Height="50" Width="100" Margin="0,30,0,0"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.Below="btn1"
Click="btn2_Click"/>
<Button x:Name="btn3"
Content="Button 3"
Height="50" Width="100" Margin="0,30,0,0"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.Below="btn2"
Click="btn3_Click"/>
<TextBlock x:Name="lblWrite"
Text="Write something : "
Visibility="Visible"
RelativePanel.Below="btn3"/>
<TextBox x:Name="txtWrite"
Height="50" Width="150"
Visibility="Collapsed"
RelativePanel.Below="lblWrite"/>
<Button x:Name="btn3_1"
Height="50" Width="100"
Visibility="Collapsed"
Content="Send"
RelativePanel.Below="txtWrite"/>
<TextBlock x:Name="lblClassName"/>
</RelativePanel>
<Frame x:Name="RightPage"
Grid.Column="1"/>
</Grid>
RightPage1.xaml
<Grid Background="Beige">
<TextBlock x:Name="heading"
Text="Teacher Module"
RelativePanel.AlignHorizontalCenterWithPanel="True"/>
<TextBlock x:Name="lblName"
Text="Name" Margin="0,30,0,0"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.Below="heading"/>
<TextBox x:Name="txtName"
Height="30" Width="150" Margin="30,30,0,0"
RelativePanel.RightOf="lblName"
RelativePanel.Below="heading"/>
<TextBlock x:Name="lblClass"
Text="Class" Margin="0,30,0,0"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.Below="lblName"/>
<TextBox x:Name="txtClass"
Height="30" Width="150" Margin="30,10,0,0"
RelativePanel.RightOf="lblClass"
RelativePanel.Below="txtName"/>
<Button x:Name="btnSumbit"
Content="Submit"
Height="50" Width="100" Margin="0,30,0,0"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.Below="lblClass"/>
<Button x:Name="btnCancel"
Content="Cancel"
Height="50" Width="100" Margin="30,30,0,0"
RelativePanel.AlignHorizontalCenterWithPanel="True"
RelativePanel.Below="lblClass"
RelativePanel.RightOf="btnSumbit"/>
<TextBlock x:Name="lblResult"
Margin="0,30,0,0"
RelativePanel.Below="btnSumbit"/>
</RelativePanel>
</Grid>
ありがとう、私はこのようにすることができますが、私はtextMessageを表示するだけではありません。私の問題は2つのViewModelと1つのモデルがあるようなものなので、ViewModelのいずれかで行われた両方のビューの変更を表示したい。私は答えを探して、更新されたモデルを使用しているすべてのViewModelsを更新する1つのDataServiceを作成する必要があることに気付きました。しかし、私は同じものを実装するための記事を取得していない。 –
私はそれが唯一の方法であるかどうか分からない、他の方法があれば、助けてください。 –
@AnkitSaini MVVMパターンを使用している場合は、答えが異なる場合があります。 ViewModelsとModelがどのように実装され、達成したいのかなど、MVVMパターンの詳細について新しい質問をすることをお勧めします。偽の日付を使うことができます。それはあなたの質問を理解しやすくし、より良い答えを得ることができます。 –