我在应用程序资源中定义了以下资源
<Application.Resources>
<Style x:Key="gridTextBox">
<Setter Property="TextBox.Margin" Value="0,5,5,5"/>
</Style>
</Application.Resources>
并且资源照常应用于主窗口的文本框
<TextBox Name="textBox1" Style="{StaticResource gridTextBox}"/>
我遇到的问题是,如果我通过 Unity 引导程序启动应用程序,应用程序会在文本框资源上引发 XamlParseException。但是,如果我在 app.xaml 上使用 startupUri,则应用程序会按预期加载。我的引导程序看起来像这样
public class Bootstrapper : UnityBootstrapper
{
protected override void InitializeShell()
{
base.InitializeShell();
App.Current.MainWindow = (Window)Shell;
App.Current.MainWindow.Show();
}
protected override DependencyObject CreateShell()
{
var shell = new MainWindow();
return shell;
}
}
而我的应用启动如下
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
new Bootstrapper().Run();
}
}
我错过了什么?