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

时间:2010-05-05 14:43:51

标签: c# .net wpf

我一直在使用命令行应用程序,最近决定在应用程序中添加一个wpf窗口。我将其添加为UserControl,但是我注意到我无法使用主代码中的ShowDialog()调用此类;

我已经尝试将Base类从UserControl更改为Window,但是会发生错误;

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

错误1的部分声明   'ExcelExample.UserControl1'一定不能   指定不同的基数   classesExcelExample

我添加了在我的其他WPF应用程序中找到的所有引用无济于事。救命啊!

1 个答案:

答案 0 :(得分:9)

为了更改基类,仅在代码中更改它是不够的。您还必须更改随附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>