我希望能够做到这一点:

    <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>

我无法解决这个问题。有任何想法吗? :(

有帮助吗?

解决方案

您试图实现的WPF中的绑定只能将其附加到依赖关系上。 MethodParameters属性不是一个依赖性,因此与其绑定永远不会起作用。

我的印象是,您想为列表中的每个项目获得一个对象dataprovider。那是对的吗?

您是否正在尝试使用MVVM模式?在这种情况下,创建一个VM结构,以使容器ViewModel保留了儿童ViewModels的列表,而不是尝试实例化VM槽objectdataprovider。您可以将列表项绑定到儿童VM,而无需为每个项目使用ObjectdatapRovider。

结论是,您不得为列表中的每个元素使用对象dataprovider。

此致,

Jan van de Pol

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top