MetroApps找不到ResourceDictionary 2.0.0-alpha0748

问题描述 投票:0回答:2

我正在使用Nuget的MetroApps 2.0.0-alpha0748。我已将其纳入我的项目并开始实施。

我正在现有应用程序内部利用此功能,将从该应用程序内部的插件调用此窗口。因此,我不拥有应用程序上下文。所以我没有使用典型的Application.xaml共享资源,我希望在这里解决。

一切正常。每当我跑步时,都会出现以下错误。

<Controls:MetroWindow x:Class="FamilyBrowser.Browser.ApplicationView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
        xmlns:helper="clr-namespace:RevitFamilyBrowser.BrowserHelper"
        xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
        xmlns:local="clr-namespace:FamilyBrowser.Browser"
        xmlns:vm="clr-namespace:FamilyBrowser.BrowserViewModel"
        xmlns:view ="clr-namespace:FamilyBrowser.BrowserView"
        xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
        Title="Family Browser" Height="800" Width="800"
        MinHeight="300" MinWidth="400" Closing="Window_Closing"
    >
    <Window.DataContext>
        <vm:ViewModelMain/>
    </Window.DataContext>
    <Window.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/Themes/dark.red.xaml" />
            </ResourceDictionary.MergedDictionaries>
         </ResourceDictionary>
    </Window.Resources>
</Controls:MetroWindow>

MahApps Error

我从MahApps.Metro下载了代码示例,并且能够毫无问题地构建和运行HamburgerMenuNavigation示例。我还能够将样式/主题示例从dark.red更改为light.red更改为light.orange.xaml等,以确认这不是机器特定的问题。

更新:

<Controls:MetroWindow x:Class="FamilyBrowser.Browser.ApplicationView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
        xmlns:helper="clr-namespace:FamilyBrowser.BrowserHelper"
        xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
        xmlns:local="clr-namespace:FamilyBrowser.Browser"
        xmlns:vm="clr-namespace:FamilyBrowser.BrowserViewModel"
        xmlns:view ="clr-namespace:FamilyBrowser.BrowserView"
        xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"
        Title="Family Browser" Height="800" Width="800"
        MinHeight="300" MinWidth="400" Closing="Window_Closing"
    >
    <Controls:MetroWindow.DataContext>
        <vm:ViewModelMain/>
    </Controls:MetroWindow.DataContext>
    <Controls:MetroWindow.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/Themes/Dark.Red.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Controls:MetroWindow.Resources>
    <Grid>
    </Grid>
</Controls:MetroWindow>

更新#2:

[即使在我加载2. * alpha内容的情况下,我们也发现将另一个.dll加载到MahApps的1. *库中是一个错误。

mahapps.metro
2个回答
0
投票

名称区分大小写。请尝试Dark.Red.xaml。它应该与最后一个字母一起使用。

快乐编码蒂姆


0
投票

我把您的代码段放入了一个新的干净示例应用程序中。我没有手头的模型,因此我刚刚删除了与模型的连接。

以下是结果:enter image description here

这是经过修改的XAML:

<Controls:MetroWindow x:Class="WpfApp1.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="Family Browser"
                      Width="800"
                      Height="800"
                      MinWidth="400"
                      MinHeight="300">
    <Controls:MetroWindow.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/Themes/Dark.Red.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Controls:MetroWindow.Resources>
    <Grid>
        <TextBlock HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   FontSize="100"
                   Foreground="{DynamicResource MahApps.Brushes.Accent}"
                   Text="Hello World" />
    </Grid>
</Controls:MetroWindow>

我认为您的应用中肯定还有其他问题。如果您可以在Github上上传未运行的示例,请查看是否发现该错误。可能StyleStaticResource错误或找不到MahApps-DLL。

快乐编码蒂姆

© www.soinside.com 2019 - 2024. All rights reserved.