我的MainPage有一个SplitView,我加载到SplitView我的StartPage的框架中。
如何从我的StartPage访问MainPage中的xaml对象,例如:
如何从Start Page更改SplitView.Pane中TextBlock用户的文本
MainPage 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>
MainPage cs:
this.InitializeComponent();
MainFrame.Navigate(typeof(StartPage));
StartPage cs:
public sealed partial class StartPage : Page
{
public StartPage()
{
this.InitializeComponent();
}
}
答案 0 :(得分:1)
您可以使用x:FieldModifier="public"
将TextBlock字段公开。然后,您可以从其他类访问它,但您需要MainPage类的实例。我在我的应用程序中使用静态属性。
public static MainPage Current { get; private set; }
在你的MainPage构造函数中,你必须像这样分配它:
Current = this;
然后,您可以使用以下方法从另一个类设置TextBlock上的Text属性:
MainPage.Current.User.Text = "new text";