框架不包含 SourcePageType 的定义
frame does not contain a definition of SourcePageType
我正在尝试使用 xaml 岛为我的 wpf 应用程序设置导航,但无法在视图之间导航。我得到一个错误:
frame does not contain a definition of SourcePageType
MainWindow.cs:
private void On_Navigated(object sender, NavigationEventArgs e)
{
if (NavView.Child is NavigationView navigationView) {
// NavView.IsBackEnabled = ContentFrame.CanGoBack;
navView = navigationView;
if (ContentFrame.Content?.GetType() == typeof(SettingsPage))
{
// SettingsItem is not part of NavView.MenuItems, and doesn't have a Tag.
navView.SelectedItem = (NavigationViewItem)navView.SettingsItem;
navView.Header = "Settings";
}
else if (ContentFrame.Content != null)
{
var item = _pages.FirstOrDefault(p => p.Page == e.Content);
navView.SelectedItem = navView.MenuItems
.OfType<NavigationViewItem>()
.First(n => n.Tag.Equals(item.Tag));
navView.Header =
((NavigationViewItem)navView.Content)?.Content?.ToString();
}
}
}
我觉得NavView_Loaded抓取选中项的方法有问题? xaml 岛屿有没有导航的例子?
谢谢
WPF中的System.Windows.Controls.Frame
class没有SourcePageType
属性这与Xaml岛无关
如果您想知道当前加载到 Frame
中的 Page
的类型,您可以在其 Content
属性:
private void On_Navigated(object sender, NavigationEventArgs e)
{
if (ContentFrame.Content?.GetType() == typeof(SettingsPage))
{
navView.SelectedItem = (NavigationViewItem)navView.SettingsItem;
navView.Header = "Settings";
}
else if (ContentFrame.Content != null)
{
...
}
}
我正在尝试使用 xaml 岛为我的 wpf 应用程序设置导航,但无法在视图之间导航。我得到一个错误:
frame does not contain a definition of SourcePageType
MainWindow.cs:
private void On_Navigated(object sender, NavigationEventArgs e)
{
if (NavView.Child is NavigationView navigationView) {
// NavView.IsBackEnabled = ContentFrame.CanGoBack;
navView = navigationView;
if (ContentFrame.Content?.GetType() == typeof(SettingsPage))
{
// SettingsItem is not part of NavView.MenuItems, and doesn't have a Tag.
navView.SelectedItem = (NavigationViewItem)navView.SettingsItem;
navView.Header = "Settings";
}
else if (ContentFrame.Content != null)
{
var item = _pages.FirstOrDefault(p => p.Page == e.Content);
navView.SelectedItem = navView.MenuItems
.OfType<NavigationViewItem>()
.First(n => n.Tag.Equals(item.Tag));
navView.Header =
((NavigationViewItem)navView.Content)?.Content?.ToString();
}
}
}
我觉得NavView_Loaded抓取选中项的方法有问题? xaml 岛屿有没有导航的例子?
谢谢
WPF中的System.Windows.Controls.Frame
class没有SourcePageType
属性这与Xaml岛无关
如果您想知道当前加载到 Frame
中的 Page
的类型,您可以在其 Content
属性:
private void On_Navigated(object sender, NavigationEventArgs e)
{
if (ContentFrame.Content?.GetType() == typeof(SettingsPage))
{
navView.SelectedItem = (NavigationViewItem)navView.SettingsItem;
navView.Header = "Settings";
}
else if (ContentFrame.Content != null)
{
...
}
}