我是 WPF 的新手。我希望在(Metro UI MetroWindow 组件)中简单地显示一个<Page>
( )。我可以用放置在. 我还想用代码隐藏填充 DataGrid 对象和其他组件,但是第二次我将 a或添加到 中的任何内容时,我收到此错误:Page1.xaml
MainWindow.xaml
<Frame>
MainWindow.xaml
Name=
x:Name=
Page1.xaml
"Could not register named object. Cannot register duplicate name 'SuperUniqueName' in this scope."
我查看了所有可能的相关帖子,但没有发现任何解决问题的方法。我还尝试将 Page1 ( Page1.xaml.cs
)的代码隐藏使用私有,这给出了一个我无法解决的不同错误。我还成功地为 MainWindow.xaml 中的元素添加了名称(没有崩溃,并且能够绑定数据),但在添加到 Page1.xaml 时却没有。
主窗口.xaml
<Controls:MetroWindow x:Class="TumorManager2GUI.MainWindow"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TumorManager2GUI"
mc:Ignorable="d"
Height="810"
Width="1440">
<Grid>
<Frame
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
NavigationUIVisibility="Hidden"
Source="/;component/Page1.xaml"/>
</Grid>
</Controls:MetroWindow>
主窗口.xaml.cs
/// default "using" hidden
using MahApps.Metro.Controls;
namespace TumorManager2GUI
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : MetroWindow
{
public MainWindow()
{
InitializeComponent();
}
}
}
页面1.xaml
<Page x:Class="TumorManager2GUI.Page1"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:TumorManager2GUI"
mc:Ignorable="d"
Title="Page1">
<Grid>
<DataGrid x:Name="SuperUniqueName" />
</Grid>
</Page>
页面1.xaml.cs
/// default "using" hidden
using MahApps.Metro.Controls;
namespace TumorManager2GUI
{
/// <summary>
/// Interaction logic for Page1.xaml
/// </summary>
public partial class Page1
{
public Page1()
{
InitializeComponent();
}
}
}
我期望在向 中的元素添加名称时不会发生崩溃,因此我可以设置绑定。相反,我收到了上面的错误。
这是一个虚假的错误,因为您在框架中使用了错误的路径。
将您的帧源更改为:
Source="Page1.xaml"/>
我还建议您使用用户控件而不是页面。
查看 MVVM 和 viewmodel 第一个导航。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句