我创建了一个WPF窗口
我将其类定义修改为:
public partial class myWindow : mySubclassedWindow
Run Code Online (Sandbox Code Playgroud)
编译器抛出:
"'myWindow'的部分声明不能指定不同的基类"
myWindow.Xaml:
x:Class="WpfGridtest.myWindow"
Run Code Online (Sandbox Code Playgroud)
所以在某个地方,还有另一个部分类,它继承自"Window",但我找不到它.如何覆盖我的情况以使用子类窗口?
谢谢乔恩,这就是问题所在.还找到了这篇有用的文章:http: //geekswithblogs.net/lbugnion/archive/2007/03/02/107747.aspx
这将在声明中myWindow
- 设计者将根据您的元素类型基于XAML生成部分类型的另一半.
<mySubclassedWindow>
只要为其提供适当的命名空间和程序集引用,就可以使用相反的元素.
编辑:好的,这是一个简短的例子,在一个名为WpfApplication的项目中.我的Window
子类:
using System.Windows;
namespace WpfApplication
{
public class EnhancedWindow : Window
{
}
}
Run Code Online (Sandbox Code Playgroud)
我的XAML:
<y:EnhancedWindow x:Class="WpfApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:y="clr-namespace:WpfApplication"
Title="MainWindow" Height="350" Width="525">
</y:EnhancedWindow>
Run Code Online (Sandbox Code Playgroud)
我的部分类型:
namespace WpfApplication
{
public partial class MainWindow : EnhancedWindow
{
public MainWindow()
{
InitializeComponent();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这一切都没有问题.我想这就是你想要做的,对吧?