私は、Delphiの世界から来ているWPFの新機能です。私は以下の問題をDelphiの世界で解決しましたが、WPFの世界ではより洗練されたソリューションがあることを願っています。名前でアクセスするウィンドウ
"tree"というメニューを含むXMLファイルを読み込む必要があります。メニューにはウィンドウ名とメニュープロンプトが表示され、その名前に基づいてウィンドウを表示することができます。
例えば、メニューのセグメントは、2つの選択肢が、このようなXMLがあるとします。
<MenuLeaf>
<Header>Product information</Header>
<MenuLine>
<Prompt>Product Master File</Prompt>
<WindowName>Products.xaml</WindowName>
</MenuLine>
<MenuLine>
<Prompt>Inventory Data</Prompt>
<WindowName>Inventory.xaml</WindowName>
</MenuLine>
</MenuLeaf>
を、ユーザが「インベントリデータ」の選択肢を作るときに、私は私がやりたいことを知っているだろうウィンドウInventory.xamlの "ショー" .....しかし、私はリテラル文字列 "Inventory.xaml"しか持っていません。
私は、これらの形態に数百を持っていますし、XMLファイルは随時変わることができます - ので、私は数百枚の窓のそれぞれについて、
Dim window as New Inventory
window.Show
の標準コードを持っていることは効果的ではありません。私は必要なもの
は、私は運で、このために延々と検索しました
Dim window as New {go out and find the Inventory file with name Inventory.xaml}
window.Show
を行うものです。
私はこれに同意します。 Activator.CreateInstance(type)を使用できるはずです。方法を見つけることを悩まずに。何かが好きです:var win =(Window)Activator.CreateInstance(<アセンブリを取得> .GetType(); –
Adam
確かに短いメソッド:-) – GameAlchemist