MahApps.Metro无法找到资源

时间:2013-12-02 09:33:53

标签: c# wpf mahapps.metro

我正在尝试使用MahApps.Metro创建新的WPF应用程序。我完全按照快速入门指南(http://mahapps.com/MahApps.Metro/guides/quick-start.html)中的描述进行操作:

  • 将Nuget的MahApps.Metro包添加到项目中。
  • 添加xmlns名称空间并将Window替换为MetroWindow。

此时我可以运行应用程序,但窗口是透明的。标题栏文本和按钮是可见的(按钮没有样式),但背景是透明的。

  • 为Window添加合并的词典代码。

之后我在启动时收到一个例外:

System.IOException
{"Cannot locate resource 'styles/colours.xaml'."}

似乎由于某种原因它无法在程序集中找到资源。但我不明白为什么。

1 个答案:

答案 0 :(得分:13)

来自wiki

  

'颜色' - > '颜色'

     

是的,我们将所有Colours更改为Colors!命名的   颜色不一致所以我们决定更改命名。也   资源字典从Colours.xaml到。{   Colors.xaml

0.11.0

的发行说明

快速操作方法

应用

<Application x:Class="WpfApplication.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

主窗口

<controls:MetroWindow x:Class="WpfApplication.MainWindow"
                      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                      xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
                      Title="MainWindow"
                      Height="600"
                      Width="800">
  <Grid>
    <!-- now your content -->

  </Grid>
</controls:MetroWindow>