1

編集: ExpandoObject MEFで正常に動作します。構文エラーが発生しました。愚かな私。


私は現在ExpandoObjects、動的に を作成するために使用してDelegateCommandViewModelsます。

private dynamic _commands = new ExpandoObject();
public dynamic Commands
{
    get
    {
        return _commands;
    }
}

private void initializeCommands()
{
    _commands.TestSql(new DelegateCommand(() => testSqlConnection()));
}

このコマンドは my で使用されますView

<Button Content="Test Connection" Command={Binding Commands.TestSql}/>

現在、MEF を使用するようにコードを更新しており、ほとんどのモジュールでうまく機能しています。ただし、これViewModelが構成されている場合、次の例外が発生します。

構成で 1 つの構成エラーが発生しました。根本的な原因を以下に示します。詳細については、CompositionException.Errors プロパティを確認してください。

1) 「System.Dynamic.ExpandoObject」に「TestSql」の定義が含まれていない

ExpandoObjectにはこの名前のプロパティがないため、このエラーは理にかなっています。動的に作成する必要があります。ExpandoObjectsMEFで対処した人はいますか?必要に応じていつでも取り除くことができExpandoObjectますが、この状況を機能させる簡単な修正方法があるかどうか疑問に思っていました.

4

1 に答える 1

1

これを試しましたか?:

private void initializeCommands()
{
    _commands.TestSql = new DelegateCommand( () => testSqlConnection());
}
于 2012-09-24T21:38:15.843 に答える