0

コードビハインドを設定したResourceDictionaryがあります。

その分離コードには、初期化する必要のあるデータベースのコンボボックスドロップダウンリストもあります。これは「ビュー」レベルのオブジェクトなので、「モデル」レベルのオブジェクトに直接接続したくありません。

したがって、このオブジェクトにアクセスする方法を見つける必要があります。問題は、この「クラス」がビューのへの呼び出しによって作成されることInitializeComponent()です。ですから、必要なものをパラメータとして渡すことはできません。

リソースを取得して「クラス」にキャストしようとしましたが、機能しません。(無効なキャスト)

ResourceDictionary resource = new ResourceDictionary
{
  Source=new Uri("/MyProject;component/MyClass.xaml", UriKind.RelativeOrAbsolute)
};

var myClass = resource as MyClass;
myClass.ListOfItems = listOfItems;

私の最後の手段は、静的メソッドを作成し、その方法で必要な参照を渡すことです。しかし、それはこれら2つのクラスを緊密に結び付けます。だから私は誰もが知っているより良い方法があるかどうかを確認すると思いました...

4

1 に答える 1

0

MyClassキャストする前にクラス ( )を継承しResourceDictionaryましたか?

あなたも試すことができます

List<MyClass> listOfItem = new List<MyClass>(ResourceDisctionaryCollection);
于 2012-09-25T01:52:03.267 に答える