WPF: доступ к ресурсам приложения при отсутствии ссылки на оболочку из App.xaml - PullRequest
1 голос
/ 23 мая 2010

Я новичок в 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>

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

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

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

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

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

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

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

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

Все работает, как и ожидалось, когда я запускаю приложение, но не @ design time.

1 Ответ

0 голосов
/ 24 мая 2010

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

...