我正在使用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.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. * alpha内容的情况下,我们也发现将另一个.dll加载到MahApps的1. *库中是一个错误。
名称区分大小写。请尝试Dark.Red.xaml
。它应该与最后一个字母一起使用。
快乐编码蒂姆
我把您的代码段放入了一个新的干净示例应用程序中。我没有手头的模型,因此我刚刚删除了与模型的连接。
这是经过修改的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。
快乐编码蒂姆