如何在uwp应用程序中将MainPage.xaml的元素访问到另一个页面?

在uwp应用程序中,我添加了一个进度环,并希望在整个应用程序中使用它。 但是,当我从其他页面调用该戒指时,它不起作用。这是我的MainPage.xaml代码

<Grid>
 <Frame Name="FDMainFrame"></Frame>
 <ProgressRing x:Fieldmodifier="Public" x:Name="progress1" Height="100" Width="100" Canvas.ZIndex="999"/>
</Grid>

我正在FDMainFrame中调用不同的页面,并希望根据这些页面上的活动来显示和隐藏进度环。但是我无法从其他页面访问它。 请提出实现此目标的最佳方法。提前致谢。

xy080121 回答:如何在uwp应用程序中将MainPage.xaml的元素访问到另一个页面?

您可以通过MainPage的当前实例访问ProgressRing。这意味着您可以在MainPage.cs上定义一个静态 Current 字段,可以从其他页面调用该字段来获取MainPage实例。

然后使用实例获取ProgressRing控件,或者将show和hide方法放在MainPage中,然后直接从其他页面调用该方法。

public MainPage()
{
    this.InitializeComponent();
    Current = this;
    progress1.IsActive = true;
}

public static MainPage Current;

在另一页中:

private void Button_Click(object sender,RoutedEventArgs e)
{
    MainPage.Current.progress1.IsActive = false;
}

private void Button_Click(object sender,RoutedEventArgs e)
{
    MainPage.Current.HideMethod();
}
,

我从您的问题中了解到,您正在寻找多视图之间的交流。

uwp-multi-view-communication将帮助您更好地理解。

希望这会有所帮助。

谢谢。

本文链接:https://www.f2er.com/2988104.html

大家都在问