【问题标题】:Can't set x:Name="Root" on UserControl无法在 UserControl 上设置 x:Name="Root"
【发布时间】:2013-01-24 07:54:31
【问题描述】:

我正在尝试将 x:Name 属性设置为 UserControl 的定义,以便稍后将其用于内部绑定:

<UserControl 
    x:Name="root"
    x:Class="ElementManager.UserControl1"
             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" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
</UserControl>

它不会编译说:

类型名称“UserControl1”不存在于类型“ElementManager.ElementManager”中

如果我删除 x:Name 属性,它会编译并且一切正常。这是故意的还是我错过了一些微不足道的事情?

【问题讨论】:

  • 你所做的通常是有效的。如果您从一个干净的项目开始,您可以自己检查。您的代码中一定还有其他一些您没有显示的故障。
  • 这应该没问题,相关cs里还有其他代码吗?

标签: .net wpf xaml user-controls compiler-errors


【解决方案1】:

XAML-MSBuild 任务将您的类型 ElementManager 与同名命名空间混淆。为您的类型 ElementManager 指定一个与其周围命名空间不同的名称。

【讨论】:

    猜你喜欢
    • 2019-12-29
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 2018-06-02
    • 2023-03-16
    • 2020-12-02
    • 1970-01-01
    相关资源
    最近更新 更多