C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

【WPF】Windowの継承について /tama (20/09/02(Wed) 11:44) #95676
Re[1]: 【WPF】Windowの継承について /Hongliang (20/09/02(Wed) 12:44) #95680
  └ Re[2]: 【WPF】Windowの継承について /tama (20/09/02(Wed) 13:05) #95681
    └ Re[3]: 【WPF】Windowの継承について /Hongliang (20/09/02(Wed) 13:16) #95682
      └ Re[4]: 【WPF】Windowの継承について /tama (20/09/02(Wed) 13:32) #95683


親記事 / ▼[ 95680 ]
■95676 / 親階層)  【WPF】Windowの継承について
□投稿者/ tama (1回)-(2020/09/02(Wed) 11:44:06)

分類:[.NET 全般] 

2020/09/02(Wed) 11:55:29 編集(投稿者)

dll上にWindow(cs、xaml)があり、
exe側からそのWindowのデザインに少し変更を加えて使用したいと考えております。

exe側にWindowクラス(WindowChild.xaml)を追加し、
以下のように継承させているのですがビルドエラーとなってしまいうまくいきません。

[WindowChild.cs]
public partial class WindowChild : WindowParent

[WindowChild.xaml]
<parent:WindowParent x:Class="WindowChild"
xmlns:parent="clr-namespace:WindowParent.View;assembly=WindowParent"


そもそもWindowの継承の仕方として間違っているのでしょうか?

開発環境:VS2017

[ □ Tree ] 返信 編集キー/

▲[ 95676 ] / ▼[ 95681 ]
■95680 / 1階層)  Re[1]: 【WPF】Windowの継承について
□投稿者/ Hongliang (1085回)-(2020/09/02(Wed) 12:44:38)
「ビルドエラーとなってしまいうまくいきません。」で終わるのではなくて、
エラーメッセージを確認しましょう。

error MC6017: '***Window' は、XAML を使用して定義されているため、XAML ファイルのルートにすることはできません。
となっているはずです。
MC6017で検索すると以下のページも見つかります。
https://docs.microsoft.com/ja-jp/troubleshoot/dotnet/framework/error-mc6017-define-class-xaml

まあ結論としては
xaml使ってる要素から派生させてxamlで編集することは不可能なのでその方向は諦めてください
です。
[ 親 95676 / □ Tree ] 返信 編集キー/

▲[ 95680 ] / ▼[ 95682 ]
■95681 / 2階層)  Re[2]: 【WPF】Windowの継承について
□投稿者/ tama (2回)-(2020/09/02(Wed) 13:05:59)
No95680 (Hongliang さん) に返信

返信ありがとうございます。
xamlを派生させることは不可能とのことで了解しました。
やりたいことはWindowの一部を変更したいだけなのですが、
派生以外の方法で対処することは可能なのでしょうか。
[ 親 95676 / □ Tree ] 返信 編集キー/

▲[ 95681 ] / ▼[ 95683 ]
■95682 / 3階層)  Re[3]: 【WPF】Windowの継承について
□投稿者/ Hongliang (1086回)-(2020/09/02(Wed) 13:16:12)
> やりたいことはWindowの一部を変更したいだけなのですが、
> 派生以外の方法で対処することは可能なのでしょうか。

WindowParentの作り次第というところが極めて大きいですが。
WindowParentをnewしたうえで、LogicalTreeHelperを使うなどして要素を特定し、それを別要素に差し替えたり、というのはまあ不可能ではないでしょう。

// WindowParentの構造・機能も変えたい箇所もわからないので「だけ」というのが正当な評価かどうか判断できません。
[ 親 95676 / □ Tree ] 返信 編集キー/

▲[ 95682 ] / 返信無し
■95683 / 4階層)  Re[4]: 【WPF】Windowの継承について
□投稿者/ tama (3回)-(2020/09/02(Wed) 13:32:45)
No95682 (Hongliang さん) に返信

説明が不足していて申し訳ございません。
Windowの一部というのは、
既にボタンなどのコントロールが配置されていて、
そこに別のコントロールを追加したいという内容です。
[ 親 95676 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -