2009-07-22 11 views
2

私はWPFでいくつかのことをしています。WPF Load Controlの質問

私はComboBoxを多く持っています。タイプです。具体的なタイプを選択した後、私はできるようにしたい私のWPFウィンドウ上の定義された領域のタイプを尊重して、特定のUserControl(多くのテキストボックスなどで)をロードします。

どうすればよいですか? LoadControl()のようなものがあり、それをASP.NETのPlaceHolderにロードしますか?これを行う最善の方法は何ですか?

ありがとうございました。

答えて

2

タイプごとにDataTemplateを作成する必要があります。詳細については、Different item template for each item in a WPF Listを参照してください。

+0

よくある質問多くのDataTemplateとセレクタを定義することで、表示するテンプレートのアイテムを決めることができます。 ありがとうございました! –

+0

しかし別の問題があります。そのコンボボックスは、そのアイテムの一部であるため、テンプレートに直接配置されます。つまり、追加している間、そのコンボボックスからアイテムを選択すると、アイテムは別のDataTemplateに変更されます。しかし、私はそのComboBoxの状態を保持したい。しかし、新しいDataTemplateを読み込んだ後は失われます。何か案が? –

+0

ComboBoxがDataTemplateの一部であることは奇妙に見えます。あなたは、UserControlがウィンドウの '定義された領域'に表示されることをあなたの質問で言います。その定義された領域のリソース内に、各タイプごとに異なるテンプレートを定義する必要があります。また、UserControlを「ロード」する必要はありません。自動的に実行されます。私が得られなかったことがあれば、あなたの問題をより明確に示すためにいくつかのコードを提供してください。 –

1

何について:なぜあなたは種類ごとのDataTemplateを作成する手間に行くと思い

object o = Activator.CreateInstance(type); 
myUserControl.PubliclyExposedContainer.Content = o; 

本当にわかりません。

関連する問題