пустая ссылка при объявлении класса как ресурса окна - PullRequest
0 голосов
/ 19 ноября 2018

У меня проблемы с доступностью к классу из кода MainWindow.

Я написал этот класс:

namespace WpfApp1.Management
{
    public class BookManagement : INotifyPropertyChanged
    { ...

, на который ссылается MainWindow:

<Window
    x:Class="WpfApp1.MainWindow"
    x:Name="mainWindow"
    ...
    xmlns:mangmt="clr-namespace:WpfApp1.Management"

по:

<Window.Resources>
    <mangmt:BookManagement x:Key="bookManagement" />
</Window.Resources>

Дело в том, что мне нужно получить доступ к bookManagement из MainWindow.cs, и я попробовал это:

BookManagement bm= Application.Current.Resources["bookManagement"] as BookManagement;
bm.SelectedTab = "summary";

но я получаю исключение нулевой ссылки во время выполнения.

спасибо.

1 Ответ

0 голосов
/ 19 ноября 2018

Это часть ресурсов вашего MainWindow, а не часть приложения:

<Window.Resources>
    <mangmt:BookManagement x:Key="bookManagement" />
</Window.Resources>

Используйте это, чтобы получить вместо этого:

Application.Current.MainWindow.Resources["bookManagement"]
...