app.xaml 资源将无法使用。 dot.net 核心内容?
app.xaml resources won't work. dot.net core stuff?
我在 app.xaml 文件中定义了以下资源,它们运行良好:
<Application.Resources>
<Style TargetType="Button" x:Key="homeButtom">
<Setter Property="Margin" Value="5" />
<Setter Property="Padding" Value="4" />
<Setter Property="Width" Value="110" />
<Setter Property="Background" Value="CadetBlue" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="14" />
</Style>
</Application.Resources>
然后,我将 entity framework 添加到解决方案中,并且按照建议,O 从 header 中删除了 "StartupUri="MainWindow.xaml" 并在代码中插入了调用落后:
protected override async void OnStartup(StartupEventArgs e)
{
await host.StartAsync();
var mainWindow = host.Services.GetRequiredService<MainWindow>();
mainWindow.Show();
base.OnStartup(e);
}
除非在需要的页面上设置,否则资源将无法使用。
补充一下,我想这就是原因。事实是我的资源只能从 app.xaml...
我可以确认您提供资源的方式在 dot net core 中不起作用。但是,我发现如果将资源放在 ResourceDictionary 中,它将起作用。
App.xaml.cs:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MyResourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
MyResourceDictionary.xaml:
<Style TargetType="Button" x:Key="homeButtom">
<Setter Property="Margin" Value="5" />
<Setter Property="Padding" Value="4" />
<Setter Property="Width" Value="110" />
<Setter Property="Background" Value="CadetBlue" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="14" />
</Style>
我在 app.xaml 文件中定义了以下资源,它们运行良好:
<Application.Resources>
<Style TargetType="Button" x:Key="homeButtom">
<Setter Property="Margin" Value="5" />
<Setter Property="Padding" Value="4" />
<Setter Property="Width" Value="110" />
<Setter Property="Background" Value="CadetBlue" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="14" />
</Style>
</Application.Resources>
然后,我将 entity framework 添加到解决方案中,并且按照建议,O 从 header 中删除了 "StartupUri="MainWindow.xaml" 并在代码中插入了调用落后:
protected override async void OnStartup(StartupEventArgs e)
{
await host.StartAsync();
var mainWindow = host.Services.GetRequiredService<MainWindow>();
mainWindow.Show();
base.OnStartup(e);
}
除非在需要的页面上设置,否则资源将无法使用。
补充一下,我想这就是原因。事实是我的资源只能从 app.xaml...
我可以确认您提供资源的方式在 dot net core 中不起作用。但是,我发现如果将资源放在 ResourceDictionary 中,它将起作用。
App.xaml.cs:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MyResourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
MyResourceDictionary.xaml:
<Style TargetType="Button" x:Key="homeButtom">
<Setter Property="Margin" Value="5" />
<Setter Property="Padding" Value="4" />
<Setter Property="Width" Value="110" />
<Setter Property="Background" Value="CadetBlue" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontSize" Value="14" />
</Style>