1

ユーザーに表示されるオブジェクトごとに1つずつ、8つのセルを持つグリッドで構成されるC#でWPFアプリケーションを作成しようとしています。このグリッドは、ユーザーが 1 つのグリッドから次のグリッドにフリックできるようにするストーリーボードの一部であり、別の 8 つのオブジェクトのセットによって設定されます。問題は、このグリッドがユーザーのコンピューター上のフォルダーからのオブジェクトによって生成され、読み込まれるオブジェクトの正確な種類を知る方法がないことです。代わりに、オブジェクトは画像、.swf ビデオ、PDF、または Word ドキュメントになります。

2 つの質問があります。1. XAML とソース コードの両方で、実行時にグリッド内の不明な型のオブジェクトのバインドを処理するにはどうすればよいですか? 2. このセルへのフラッシュ オブジェクトのバインディングを処理するにはどうすればよいですか?

オブジェクトがすべて同じタイプ (画像のみ) であれば、それほど悪くはありませんが、プログラムを実行するまで各セルに何が含まれているかを知ることはできないため、どうすればよいかわかりません。

C# WPF アプリケーションにフラッシュを埋め込む方法を提案しているいくつかのサイトを調べましたが、それはフラッシュ オブジェクトが読み込まれることがわかっている場合のみです: http://hintdesk.com/c-wpf-play-swf-in- wpf-アプリケーション/ .

また、オブジェクト タイプのハード コーディングの発行を回避する方法として、Object クラスのオブジェクトをロードすることも考えましたhttp://social.msdn.microsoft.com/Forums/en/wpf/thread/ca76fc35-950c-4fac-bb30 -534cb7ad1b5dですが、プロパティにアクセスできないため、明らかにそれは不可能です。

どんな助けでも大歓迎です!

4

2 に答える 2

0

処理中のフォルダー内のファイル名を取得し、ロード時にタイプとファイルパスをプロパティとして使用してViewModelsを作成できます。ContentControl次に、の各セルにを追加できますGridViewModelそれぞれをのにバインドしContentContentControlを使用しContentTemplateSelectorてさまざまなタイプを表示します。

于 2012-06-22T23:57:15.947 に答える
0

おそらくコンバーターを使用しますか?それをファクトリのように扱い、期待して対応できるすべてのタイプの実装を行うことができます。また、予期しないファイル タイプのデフォルトの「サポートされていない」ビューを使用することもできます。

于 2012-06-22T21:22:04.563 に答える