2010-12-04 3 views
0

複数のウィンドウを使用するWPFアプリケーションがあります。私は1つのウィンドウのために定義されたContentControlを持っています、そして、私は他のウィンドウでそれを使うこともできるようにしたいと思います。複数のWPFウィンドウでコンテンツコントロールにアクセスできるようにするにはどうすればよいですか?

現在、コンテンツコントロールは、自分のウィンドウの1つのxamlファイルで定義されています。

このコンテンツコントロールを他のすべてのウィンドウからアクセスできるように定義する方法を教えてください。

ありがとうございます!

答えて

0

ユーザーコントロールにします。

ブレンドでは、コントロールを選択して右クリックし、「ユーザーコントロールを作成する」などの方法で簡単に行うことができます。

+0

私はそれを試してみましょう!ありがとう! – ksamurai

+0

ありがとうございました! – ksamurai

1

あなたはx:FieldModifier属性を使用して、それが公共の宣言ができます

<ContentControl Name="myControl" x:FieldModifier="Public"> 
... 

しかし、私はそれをやってお勧めしません...その代わり、あなたはコンテンツ自体ではなく、ContentControlを公開する必要があります。パブリックプロパティを介して公開するか、コンストラクタパラメータとして他のウィンドウに渡すことができます

+0

私は同じことを達成しようとしていますが、公開すればどういう意味ですか? –

+0

迅速な対応をありがとう! 「公有物を介して公開する」という意味はわかりません。私はコンテンツコントロールをApp.xamlに移動しましたが、私のウィンドウはそれを認識しません。私はそれを次のように定義します: 私のウィンドウで、私は次のようなことをしようとしています: App.TicketContent.Visibility = Visibility。見える; しかし、このプログラムでは、TicketContentのようなものは存在しません。 – ksamurai

+0

App.xamlで宣言できるのは、リソースだけです。コントロールはリソースではありません。表示する必要があるUIでコントロールを宣言し、そこからコントロールにアクセスします。とにかく、可視性をコントロールしたいのであれば、なぜバインディングを使用しないのですか?データバインディングを利用せずにWPFアプリケーションを書くことは、エンジンを起動するのではなく、後ろに押している人と車を運転しようとするようなものです... –

関連する問題