在 WPF 应用程序的页面名称范围中使用唯一名称时无法注册重复名称错误

淀粉酶

我是 WPF 的新手。我希望(Metro UI MetroWindow 组件)中简单地显示一个<Page>( )。我可以用放置在. 我还想用代码隐藏填充 DataGrid 对象和其他组件,但是第二次我将 a添加到 中的任何内容时,我收到此错误:Page1.xamlMainWindow.xaml<Frame>MainWindow.xamlName=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 第一个导航。

https://social.technet.microsoft.com/wiki/contents/articles/52485.wpf-tips-do-not-use-frame-and-page-for-navigation.aspx

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从重复名称列表中创建唯一名称列表

来自分类Dev

如何在WPF中获取应用程序名称

来自分类Dev

唯一名称的子集

来自分类Dev

WPF中的“ <控件名称>”错误已注册“获取<属性名称>”

来自分类Dev

WPF中的“ <控件名称>”错误已注册“获取<属性名称>”

来自分类Dev

在循环中使用.Where()。FirstOrDefault()时,ASP MVC中的非唯一名称

来自分类Dev

在javascript中使用唯一名称创建新的文本框

来自分类Dev

WPF名称空间的奇怪名称

来自分类Dev

WPF找不到NameScope注册该名称

来自分类Dev

在 WPF 应用程序中使用 INotifyPropertyChanged

来自分类Dev

WPF用户控件和名称范围

来自分类Dev

具有唯一名称标题的表

来自分类Dev

宏中循环变量的唯一名称

来自分类Dev

需要唯一名称的Javascript函数调用

来自分类Dev

创建具有唯一名称的元素

来自分类Dev

上载具有唯一名称的图像

来自分类Dev

给定的唯一名称列表和种子

来自分类Dev

如何从列表创建唯一名称列表

来自分类Dev

上载具有唯一名称的图像

来自分类Dev

用sysdate开发唯一名称列表

来自分类Dev

下拉列表中的唯一名称

来自分类Dev

员工部门的唯一名称

来自分类Dev

查找唯一名称的频率

来自分类Dev

计算excel列范围内的唯一名称

来自分类Dev

WPF应用程序的当前上下文中不存在名称“ InitializeComponent”

来自分类Dev

如何在WPF中保存应用程序主题名称

来自分类Dev

Java XPath Compile无法查询具有唯一名称空间的标记

来自分类Dev

WPF MVVM:应在“ ViewModel”中避免使用WPF名称空间

来自分类Dev

上载文件时为其赋予唯一名称