WPF: доступ к ресурсам приложения при отсутствии ссылки на оболочку из App.xaml

Я новичок в WPF. Мой App.xaml выглядит ниже

App.xaml

<Application x:Class="ContactManager.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Application.Resources>
        <Color x:Key="lightBlueColor">#FF145E9D</Color>
        <SolidColorBrush x:Key="lightBlueBrush"
                         Color="{StaticResource lightBlueColor}" />
    </Application.Resources>

Я не устанавливаю стартапы, так как хочу, чтобы докладчик сначала подходил. Я делаю следующее в app.xaml.cs

  protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);
        var appPresenter = new ApplicationPresenter(
            new Shell(), new ContactRepository());
        appPresenter.LaunchView();
    }

У меня есть usercontrol под названием "SearchBar.xaml", который ссылается на "lightBlueBrush" как staticResource.

Когда я пытаюсь открыть "Shell.xaml" в конструкторе, он говорит мне: "Shell.xaml" не может быть загружен во время разработки, потому что он говорит, что не может создать экземпляр типа "SearchBar.xaml".

Когда я отлаживал devenv.exe с помощью другого экземпляра visual studio, он говорит мне, что у него нет доступа к кисти, которую я создал в app.resources.

Если кто-то делает презентацию первым, как получить доступ к ресурсам?

У меня это работало, когда startupURI был "Shell.xaml", а событие запуска отсутствовало.

Любые подсказки / идеи / предложения. Я просто пытаюсь понять.

Когда я запускаю приложение, все работает как положено, но не во время разработки.

1 ответ

base.OnStartup(e) должна быть последней строкой в ​​функции.

Другие вопросы по тегам