2012-03-16 12 views
0

これはかなり簡単な質問です。依存関係プロパティを持つウィンドウを2回以上開くにはどうすればいいですか?

私はWPFプロジェクトにメインウィンドウを持っています。これは、依存プロパティを持つ特定のウィンドウを開くようにしたいものです。今はその周りの最初の時間はそれについて1ビット不平を言っていません。しかし、後でウィンドウを開こうとすると、既に登録されている依存関係プロパティーに関するエラーが表示され、再度登録することはできません。

グローバル変数としてウィンドウを保持しようとしましたが、すでに閉じられたウィンドウを再オープンしようとすると明白なエラーが発生します。

それで、ウィンドウを再び開くことができ、プロパティを再登録しようとすると私のトラックで止められないでしょうか?

私の主なミッションは、開く必要があるたびにウィンドウを再作成することです(標準ダイアログ/ウィンドウプロシージャ)。

私はこのような特性を登録します。

public partial class MessageAndWaitingWindow : Window 
{ 
     public DependencyProperty CustomMessageProperty = 
      DependencyProperty.Register("CustomMessage", typeof(string), typeof(MessageAndWaitingWindow)); 
     public DependencyProperty WaitingProperty = 
      DependencyProperty.Register("Waiting", typeof(string), typeof(MessageAndWaitingWindow)); 
     public DependencyProperty WaitingPanelVisibilityProperty = 
      DependencyProperty.Register("WaitingPanelVisibility", typeof(Visibility), typeof(MessageAndWaitingWindow)); 

     // Rest of the class. 
} 
+0

あなたのコードを表示してください! –

答えて

1

DependencyPropertyをインスタンスコンストラクタに登録するか、DependencyPropertyを非静的と宣言したような音がします。 DependencyPropertyフィールドをstaticとして定義し、静的コンストラクターに登録するか、インラインで登録してください。

+0

私はそれについて考えないで自分を叩くべきです...私は静的な依存プロパティを持っている別のウィンドウを持っていましたが、それは問題を引き起こしません...リマインダーに感謝! – ThaMe90

+0

np、私の喜び – Terkel

2

あなたは間違った場所にあなたの依存関係プロパティを登録しているようですね。すなわち、静的ではありません。コードなしでは、推測することしかできません。

+0

私はサンプルを添付します、それを忘れました。 – ThaMe90

+0

@ ThaMe90、あなたのフィールド宣言に 'static'を追加してください。 – Terkel

+0

あなたの答えとケントの答えを考えました。 – ThaMe90

関連する問題