我是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”的usercontrol,它将“lightBlueBrush”引用为staticResource。
当我尝试在设计器中打开“Shell.xaml”时,它告诉我:“shell.xaml”无法在设计时加载,因为它说它无法创建“SearchBar.xaml”类型的实例。 / p>
当我使用另一个visual studio实例调试devenv.exe时,它告诉我它无法访问我在app.resources中创建的Brush。
如果有人正在进行Presenter第一种方法,那么如何访问资源?
当startupURI是“Shell.xaml”并且启动事件不存在时,我有这个工作。
任何线索/想法/建议。我只是想了解。
当我运行应用程序而不是@design time时,一切都按预期工作。
答案 0 :(得分:0)
base.OnStartup(e)应该是函数的最后一行。