2011-10-25 79 views
3

winformでは、簡単に継承できます。しかし、WPFでは、XAMLを含むクラスを継承することはできません。だから私はいくつかのウィンドウの属性を一般化する必要があるたびに、私はXAMLのない基本クラスを作成します。たとえば、すべてのウィンドウを中央のスクリーンで起動させたいとします。基本クラスの背後にあるコードを使用します(このクラスにはXAMLは含まれません)。WPFでウィンドウを継承するより良い方法はありますか

namespace VBDAdvertisement 
{ 
    public class BaseWindow:Window 
    { 
     public BaseWindow() 
     { 
      this.WindowStartupLocation = WindowStartupLocation.CenterScreen; 
     } 
    } 
} 

これは単純なタスクのためのものです。私の意見では、より複雑な作業のために、行単位でコードを使用することは良い考えではありません。だから、WPF(winform継承に近いもの)でウィンドウを継承する方が良い方法があるのだろうか?

答えて

2

このpostは、xamlが視覚的継承をサポートしていない限り、あなたがすでに知っていることを説明しています。彼らが提供したソリューションは、共通のプロパティを提供するUserControlを作成することです。

+0

こんにちはphilt5252を使用せずにウィンドウを継承する方法を教えて、何かがユーザーコントロールを通して行うことができません。たとえば、UserControlでWindowStartupLocationを定義するにはどうすればよいですか? – JatSing

+0

それは大きなポイントです。あなたはそのポストの2番目の答えを偶然見ましたか?おそらくそれはあなたが探しているもののラインに沿っているでしょう。彼らは、あなたがやったようにWindowから継承するカスタムクラスを宣言し、_Themes \ generic.xaml_を編集してデフォルト値を与えます。 – philt5252

0

実は、このtopicは、ユーザーコントロール

関連する問題