Я использую XAML Islands для отображения элемента управления UWP NavigationView
из окна приложения. NET Core WPF (мне не нужна вся инфраструктура навигации - мне просто нужен элемент управления представлением навигации). У меня также есть класс, производный от Page
, с именем Home
, который я хочу использовать для отображения содержимого во фрейме элемента управления. Когда я устанавливаю содержимое фрейма на объект класса Home
, я вижу имя типа объекта Home
в содержимом фрейма, как будто ToString()
вызывается для объекта, а не для визуализации его содержимого. Что мне не хватает?
using System.Windows;
using MyApp.Wpf.Pages;
using Windows.UI.Xaml.Controls;
namespace MyApp.Wpf
{
public partial class MainWindow : Window
{
private Frame navigationFrame;
public MainWindow()
{
InitializeComponent();
uwpNavigationView.ChildChanged += uwpNavigationView_ChildChanged;
}
private void uwpNavigationView_ChildChanged(object sender, System.EventArgs e)
{
if (uwpNavigationView.Child is NavigationView navigationView)
{
var homeItem = new NavigationViewItem()
{
Content = "Home",
Icon = new FontIcon()
{
Glyph = "\uE80F",
}
};
navigationView.MenuItems.Add(homeItem);
navigationFrame = new Frame();
navigationView.Content = navigationFrame;
navigationView.SelectionChanged += NavigationView_SelectionChanged;
}
}
private void NavigationView_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
{
if(args.SelectedItem is NavigationViewItem item)
{
var homePage = new Home();
navigationFrame.Content = homePage; // homepage.ToString() rendered here?
}
}
}
}