Ich hatte die MainPage.xaml
in zwei Teile unterteilt. Der linke Teil hat einige Knöpfe, die den Befehl geben, den rechten Teil mit einer neuen Seite zu ändern. Also habe ich drei richtige Seiten für ex erstellt. RightPage1
, RightPage2
und RightPage3
. Das Problem ist, dass ich Daten auf dem linken Teil nach den durchgeführten Operationen auf RightPage1
, 2 oder 3 zeigen möchte. Sollte ich ein Muster folgen, um diesen Ansatz zu erfüllen? oder können wir es direkt im Code hinterher tun?Universal Windows App, um Daten von einer Seite an eine andere zu senden
Alles, was ich recherchiert mir Lösung geben zu dieser Seite zu navigieren und die Daten im Parameter zu senden. Aber ich möchte die Seite nicht mehr öffnen, da sie bereits auf der linken Seite von MainPage
geöffnet ist. Bitte helfen Sie mir, diese Situation zu lösen.
In RightPage 1, auf Submit Click Event Ich möchte eine Nachricht in MainPage.xaml
's linken Teil in TextBlock
lblClassName zeigen.
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>
Dank Jay, kann ich auf diese Weise tun, aber ich will nicht nur textMessage zeigen. Mein Problem ist, dass ich zwei ViewModels und ein Model habe. Daher möchte ich Änderungen an beiden Views in einem der Viewmodels anzeigen. Ich habe nach den Antworten gesucht und bin zu dem Punkt gekommen, dass ich einen DataService erstellen muss, der alle Viewmodels aktualisiert, die das aktualisierte Model verwenden. Aber ich habe keinen Artikel bekommen, um dasselbe zu implementieren. –
Ich bin mir nicht sicher, ob es der einzige Weg ist, wenn es einen anderen Weg gibt, bitte helfen Sie mir. –
@AnkitSaini Wenn Sie MVVM-Muster verwenden, ist die Antwort möglicherweise anders. Ich schlage vor, dass Sie eine neue Frage mit den Details Ihres MVVM-Musters stellen, z. B. wie Ihre ViewModels und Ihr Modell implementiert wurden und was Sie erreichen möchten. Sie können ein falsches Datum verwenden. Es wird Ihre Frage leichter verständlich machen und Sie können viel bessere Antworten erhalten. –