MetroApps 找不到 ResourceDictionary 2.0.0-alpha0748
MetroApps not finding ResourceDictionary 2.0.0-alpha0748
我正在考虑使用 Nuget 的 MetroApps 2.0.0-alpha0748。我已将其纳入我的项目并开始实施。
我在现有应用程序中使用它,这个 window 将从该应用程序内部的插件调用。所以我不拥有应用程序上下文。所以我没有使用典型的 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 示例。我还能够将 styles/themes 示例从 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:
我们发现这是在 MahApps 的 1.* 库中加载另一个 .dll 时出现的错误,尽管我正在加载 2.* alpha 内容。
名称区分大小写。请尝试Dark.Red.xaml
。它应该适用于最后一个 alpha。
快乐编码
蒂姆
我把你的代码片段放到了一个新的干净的示例应用程序中。我刚刚删除了与模型的连接,因为我手头没有你的模型。
结果如下:
这里是修改后的 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 上上传非 运行 示例,我可能会看看是否发现了错误。也许 Style
或 StaticResource
是错误的,或者找不到 MahApps-DLL。
快乐编码
蒂姆
Image to Solution
最初的问题是因为其他应用程序使用 MahApps 而我尝试使用 MahApps 并从不同版本加载两个程序集。
通过导航到调试 > Windows > 模块以确定存在两个不同的程序集,可以更快地掌握这一点。
我正在考虑使用 Nuget 的 MetroApps 2.0.0-alpha0748。我已将其纳入我的项目并开始实施。
我在现有应用程序中使用它,这个 window 将从该应用程序内部的插件调用。所以我不拥有应用程序上下文。所以我没有使用典型的 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 示例。我还能够将 styles/themes 示例从 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:
我们发现这是在 MahApps 的 1.* 库中加载另一个 .dll 时出现的错误,尽管我正在加载 2.* alpha 内容。
名称区分大小写。请尝试Dark.Red.xaml
。它应该适用于最后一个 alpha。
快乐编码 蒂姆
我把你的代码片段放到了一个新的干净的示例应用程序中。我刚刚删除了与模型的连接,因为我手头没有你的模型。
结果如下:
这里是修改后的 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 上上传非 运行 示例,我可能会看看是否发现了错误。也许 Style
或 StaticResource
是错误的,或者找不到 MahApps-DLL。
快乐编码 蒂姆
Image to Solution
最初的问题是因为其他应用程序使用 MahApps 而我尝试使用 MahApps 并从不同版本加载两个程序集。
通过导航到调试 > Windows > 模块以确定存在两个不同的程序集,可以更快地掌握这一点。