Xaml UWP C#WINUI导航查看如何访问其他页面/视图
根据教程,我正在使用Xaml UWP C#WINUI导航查看如何访问其他页面/视图,xaml,uwp,windows-10-iot-core,navigationview,winui,Xaml,Uwp,Windows 10 Iot Core,Navigationview,Winui,根据教程,我正在使用导航视图编写一个应用程序。 我希望有人能帮助澄清两件事 什么是放置常规程序的最佳实践?在MainPage.xaml.cs或相应视图中的xaml中 如何在不同的视图中更新我的xaml元素,例如textblock? 如。 我在启动时运行了一个readHardwareID例程来读取MainPage.xaml.cs中的硬件ID,如何在InfoPage.xaml中显示信息 我的用户界面 请告知, 谢谢 更新日期:06-08-2020 我正在尝试将一个简单的AppVerisonte
导航视图编写一个应用程序。
我希望有人能帮助澄清两件事
什么是放置常规程序的最佳实践?在MainPage.xaml.cs
或相应视图中的xaml
中
如何在不同的视图中更新我的xaml
元素,例如textblock
?
如。
我在启动时运行了一个readHardwareID
例程来读取MainPage.xaml.cs
中的硬件ID,如何在InfoPage.xaml
中显示信息
我的用户界面
请告知,
谢谢
更新日期:06-08-2020
我正在尝试将一个简单的AppVerisontext
从主页传递到InfoPage,以测试OnNavigateTo
。但是,当我运行代码并单击info
选项卡时,我遇到了这个错误。
主页代码
public String AppVersionName = "Test version 1.0";
private void nvTopLevelNav_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
{
if (args.IsSettingsInvoked)
{
contentFrame.Navigate(typeof(SettingsPage));
} else
{
TextBlock ItemContent = args.InvokedItem as TextBlock;
if (ItemContent != null)
{
switch (ItemContent.Tag)
{
case "Nav_Home":
contentFrame.Navigate(typeof(HomePage));
break;
case "Nav_Devices":
contentFrame.Navigate(typeof(DevicesPage));
break;
case "Nav_Log":
contentFrame.Navigate(typeof(LogPage));
break;
case "Nav_Info":
contentFrame.Navigate(typeof(InfoPage));
break;
}
}
}
信息代码
public sealed partial class InfoPage : Page
{
private MainPage mainPage;
string appVersion;
public InfoPage(MainPage page)
{
this.InitializeComponent();
mainPage = page;
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
var data = e.Parameter;
appVersion = mainPage.AppVersionName;
readHardwareID();
}
public void readHardwareID()
{
var deviceIdtoken = HardwareIdentification.GetPackageSpecificToken(null);
var deviceId = deviceIdtoken.Id;
var deviceIdReader = DataReader.FromBuffer(deviceId);
byte[] deviceIdbytes = new byte[deviceId.Length];
deviceIdReader.ReadBytes(deviceIdbytes);
DeviceID.Text = BitConverter.ToString(deviceIdbytes);
var sysIdToken = SystemIdentification.GetSystemIdForPublisher();
var sysId = sysIdToken.Id;
var sysIdReader = DataReader.FromBuffer(sysId);
byte[] sysIdbytes = new byte[sysId.Length];
sysIdReader.ReadBytes(sysIdbytes);
SystemID.Text = BitConverter.ToString(sysIdbytes);
// get the system family information
string deviceFamily = AnalyticsInfo.VersionInfo.DeviceFamily;
Device.Text = deviceFamily;
// get the system version number
var deviceFamilyVersion = AnalyticsInfo.VersionInfo.DeviceFamilyVersion.ToString();
var version = ulong.Parse(deviceFamilyVersion);
var majorVersion = (version & 0xFFFF000000000000L) >> 48;
var minorVersion = (version & 0x0000FFFF00000000L) >> 32;
var buildVersion = (version & 0x00000000FFFF0000L) >> 16;
var revisionVersion = (version & 0x000000000000FFFFL);
var systemVersion = $"{majorVersion}.{minorVersion}.{buildVersion}.{revisionVersion}";
OSVersion.Text = systemVersion.ToString();
AppVersion.Text = appVersion;
}
}
什么是放置常规程序的最佳实践?在MainPage.xaml.cs或各自视图中的xaml中
如果您想使用NavigationView
作为应用程序的基本架构,我们建议您使用制作NavigationView
UWP模板应用程序。您可以使用Windows Template Studio
将特定的模板添加到页面中。有关更多信息,请参阅链接
如何在不同的视图中更新xaml元素(如textblock)?例如,我在启动时运行了readHardwareID例程,以读取MainPage.xaml.cs中的硬件ID。如何在InfoPage.xaml中显示信息
如果已在主页
中加载数据,则可以在导航到InfoPage
并从OnNavigatedTo覆盖方法获取数据时,使用框架导航
方法来分页参数
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
var data = e.Parameter;
}
什么是放置常规程序的最佳实践?在MainPage.xaml.cs或各自视图中的xaml中
如果您想使用NavigationView
作为应用程序的基本架构,我们建议您使用制作NavigationView
UWP模板应用程序。您可以使用Windows Template Studio
将特定的模板添加到页面中。有关更多信息,请参阅链接
如何在不同的视图中更新xaml元素(如textblock)?例如,我在启动时运行了readHardwareID例程,以读取MainPage.xaml.cs中的硬件ID。如何在InfoPage.xaml中显示信息
如果已在主页
中加载数据,则可以在导航到InfoPage
并从OnNavigatedTo覆盖方法获取数据时,使用框架导航
方法来分页参数
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
var data = e.Parameter;
}
我在下面的链接中找到了一个关于导航的简单解释
由于我是一个硬件开发人员,没有太多的软件开发背景,官方文档中的示例和参考资料有限,这让我感到困惑
我建议这个简单的例子将能够帮助很多初学者,因为它使它非常简单,直接和清晰
我在下面的链接中找到了一个关于导航的简单解释
由于我是一个硬件开发人员,没有太多的软件开发背景,官方文档中的示例和参考资料有限,这让我感到困惑
我建议这个简单的例子将能够帮助很多初学者,因为它使它非常简单,直接和清晰
我真的不明白如何导航到上。它应该在myMainPage.xaml.cs
或InfoPage.xaml.cs
上实现吗?我读过,但没有太多的样本供我参考。请帮忙。谢谢。我已经更新了我的问题,我试过了,但是我遇到了一些错误。你能给我个建议吗。谢谢。请使用此方法传递参数。我仍然很难理解,因为我参考了GitHub UWP示例(如xamlUIgallery)中的其他示例,我找不到在页面之间传递数据的示例。我不太理解导航到
的是如何工作的。它应该在myMainPage.xaml.cs
或InfoPage.xaml.cs
上实现吗?我读过,但没有太多的样本供我参考。请帮忙。谢谢。我已经更新了我的问题,我试过了,但是我遇到了一些错误。你能给我个建议吗。谢谢。请使用此方法传递参数。我仍然很难理解,因为我参考了GitHub UWP示例中的其他示例,如xamlUIgallery,我找不到在页面之间传递数据的示例。