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 模式?在这种情况下,以容器 ViewModel 保存子 ViewModel 列表的方式创建 VM 结构,而不是尝试通过 ObjectDataProvider 实例化 VM。您可以将列表项绑定到子 VM,而不必为每个项使用 ObjectDataProvider。

结论是您不能对列表中的每个元素都使用 ObjectDataProvider。

此致,

扬·范德波尔

于 2010-09-24T09:13:14.760 回答