我有一个WPF应用程序,该应用程序需要一个单独的main方法(由于Mono实例)。
Google表示,要使其正常工作,我需要将App.Xaml类型从“ ApplicationDefinition ”更改为“ Page ”。
但是当我这样做时,<Application.Resources>
中定义的样式不适用于MainWindow。这是我在App.Xaml文件中编写的基本代码:
<Application x:Class="EasySave_v2.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:EasySave_v2" >
<Application.Resources>
<ResourceDictionary>
<Style TargetType="Button">
<Setter Property="Background" Value="#FF1D69AB"></Setter>
<Setter Property="BorderBrush" Value="{x:Null}"></Setter>
<Setter Property="Foreground" Value="White"></Setter>
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
在CS文件中:
public partial class App : Application
{
// Single Instance
public void Activate()
{
if (this.MainWindow.WindowState == WindowState.Minimized)
this.MainWindow.WindowState = WindowState.Normal;
this.MainWindow.Activate();
}
protected override void OnStartup(System.Windows.StartupEventArgs e)
{
base.OnStartup(e);
MainWindow window = new MainWindow();
window.Show();
}
}
经过一些故障排除后,我发现如果缺少 StartupURI
属性,则可以重现该问题,但是由于App.Xaml现在是“页面”。
所以我的问题是: 当主要不是App.Xaml时,我可以通过什么方式轻松地将隐式样式应用于整个应用程序?
重要提示: 我在这里只问隐式样式,因为很奇怪,我刚刚发现带有x:Key的显式样式很好用,但是我仍然需要知道是否有办法使隐式样式起作用。
编辑: 好吧,现在,显式样式不再起作用。我不明白
我不需要睡眠,我需要答案。