代码之家  ›  专栏  ›  技术社区  ›  wonea Ilya Smagin

从WPF用户控件更改为窗口?

  •  4
  • wonea Ilya Smagin  · 技术社区  · 14 年前

    我一直在开发一个命令行应用程序,最近决定向该应用程序添加一个WPF窗口。我把它作为一个用户控件添加了,但是我注意到我不能从我的主代码中使用showdialog()调用这个类;

    我尝试将基类从UserControl更改为Window,但是发生了一个错误;

    public partial class UserControl1 : Window
        {
            public UserControl1()
            {
                InitializeComponent();
            }
    

    错误1部分声明 “ExcelExample.UserControl1”不能 指定不同的基 类excele例如

    我已经添加了在我的其他WPF应用程序中找到的所有引用,但没有用。救命!

    1 回复  |  直到 14 年前
        1
  •  9
  •   wpfwannabe    14 年前

    为了更改基类,只在代码中更改它是不够的。您还必须更改根标记和随附的XAML文件中的任何嵌套元素。例如,您有如下内容:

    <UserControl x:Class="Your.Namespace.UserControl1"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
         <UserControl.Resources>
         </UserControl.Resources>
    </UserControl>
    

    您必须将其更改为:

    <Window x:Class="Your.Namespace.UserControl1"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
         <Window.Resources>
         </Window.Resources>
    </Window>