0

私はこれを行うことができるようにしたいと思います:

    <ObjectDataProvider x:Key="dataProvider"
                        ObjectInstance="uiRoot:App.Current.Controller" 
                        MethodName="GetMyViewModel">
        <ObjectDataProvider.MethodParameters>
            <system:Int32>{Binding Id}</system:Int32>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>

重点が置かれている

            <system:Int32>{Binding Id}</system:Int32>

私はこれを回避することはできません。何か案は?:(

4

1 に答える 1

1

達成しようとしているWPFのバインディングは、DependencyPropertiesにのみアタッチできます。MethodParametersプロパティはDependencyPropertyではないため、このプロパティへのバインドは機能しません。

リスト内の各アイテムのObjectDataProviderを取得したいという印象を受けています。あれは正しいですか?

MVVMパターンを使用しようとしていますか?その場合、ObjectDataProviderを介してVMをインスタンス化しようとするのではなく、コンテナーViewModelが子ViewModelのリストを保持するようにVM構造を作成します。アイテムごとにObjectDataProviderを使用しなくても、リストアイテムを子VMにバインドできます。

結論として、リスト内のすべての要素にObjectDataProviderを使用してはなりません。

よろしくお願いします、

Jan van de Pol

于 2010-09-24T09:13:14.760 に答える