Pregunta

Me gustaría poder hacer esto:

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

El énfasis está en

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

No puedo evitar esto. ¿Algunas ideas? :(

¿Fue útil?

Solución

Los enlaces en WPF, ya que está tratando de lograr, solo se pueden adjuntar a DependencyProperties. La propiedad MethodParameters no es una dependencia de la propiedad, por lo que la vinculación nunca funcionará.

Tengo la impresión de que desea obtener un ObjectDataProvider para cada elemento dentro de una lista. ¿Es eso correcto?

¿Estás tratando de usar el patrón MVVM? En ese caso, cree una estructura de VM de tal manera que un Modelo de vista de contenedor contenga una lista de modelos de visión infantil, en lugar de tratar de instanciar un canal de VM un objeto DataProvider. Puede vincular los elementos de la lista a las VM de Child sin tener que usar un ObjectDataProvider para cada elemento.

La conclusión es que no debe usar un ObjectDataProvider para cada elemento de la lista.

Saludos,

Jan van de pol

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top