我现在开始使用MahApps.Metro UI工具包了。但我得到了第一个问题:(
类型或命名空间名称'控件'名称空间中不存在“Demo.MahApps.Metro”
我的MainWindow.xaml是:
<controls:MetroWindow x:Class="Demo.MahApps.Metro.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.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>
</Window.Resources>
<Grid>
</Grid>
他的守则背后:
namespace Demo.MahApps.Metro
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
}
}
}
我已经安装了预发行包:
Concrettly 我在自动生成的MainWindow.g.cs 中遇到此问题:
public partial class MainWindow : MahApps.Metro.Controls.MetroWindow, System.Windows.Markup.IComponentConnector {
我试图把MetroWindow放在Code Behind中,但是没有用。
public partial class MainWindow : MetroWindow
{
...
}
感谢所有人和问候!
答案 0 :(得分:1)
您的应用程序命名空间似乎隐藏了MahApps.Metro
命名空间。因此,请尝试将名称空间更改为不包含MahApps.Metro
的内容:
namespace Demo
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
}
}
}
你的XAML:
<controls:MetroWindow x:Class="Demo.MainWindow"
.........
.........>
创建一个新项目并使用不同的命名空间比重命名现有项目更安全,更清晰。