7

WPFウィンドウを作成しました

クラス定義を次のように変更したよりも:

public partial class myWindow : mySubclassedWindow

コンパイラがスローします:

「'myWindow' の部分宣言では、異なる基本クラスを指定してはなりません」

myWindow.Xaml:

x:Class="WpfGridtest.myWindow"

そのため、「ウィンドウ」から継承する別の部分クラスがありますが、見つかりません。サブクラス化されたウィンドウを使用するようにケースをオーバーライドするにはどうすればよいですか?


ありがとうジョン、それが問題だった。この役立つ記事も見つかりました: http://geekswithblogs.net/lbugnion/archive/2007/03/02/107747.aspx

4

1 に答える 1

10

それはそれ自体の宣言になりmyWindowます。デザイナーは、要素の型に基づいて、XAML に基づいて部分型の残りの半分を生成します。

<mySubclassedWindow>適切な名前空間とアセンブリ参照を指定する限り、代わりに要素を使用できます。

編集: では、WpfApplication というプロジェクトの短い例を次に示します。私のWindowサブクラス:

using System.Windows;

namespace WpfApplication
{
    public class EnhancedWindow : Window
    {
    }
}

私の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>

私の部分的なタイプ:

namespace WpfApplication
{
    public partial class MainWindow : EnhancedWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
}

それはすべて問題なくビルドされます。それがあなたのやりたかったことだと思いますよね?

于 2010-07-07T18:47:56.020 に答える