Domanda

Mi piacerebbe essere in grado di fare questo:

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

L'enfasi essere su

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

Non riesco a ottenere intorno a questo. Qualche idea? : (

È stato utile?

Soluzione

Associazioni in WPF, come si sta tentando di raggiungere può essere collegato solo ai DependencyProperties. La proprietà MethodParameters non è un DependencyProperty, in modo vincolante a non funzionerà mai.

Sono sotto l'impressione che si vuole ottenere un ObjectDataProvider per ogni elemento all'interno di una lista. E 'corretto?

Stai cercando di utilizzare il modello MVVM? In tal caso, creare una struttura VM in modo tale che un contenitore ViewModel contiene un elenco di ViewModels bambino, invece di cercare di creare un'istanza di una macchina virtuale attraverso un ObjectDataProvider. È possibile associare le voci di elenco al bambino VM senza dover utilizzare un ObjectDataProvider per ogni elemento.

Conclusione è che non è necessario utilizzare un ObjectDataProvider per ogni elemento della lista.

Con i migliori saluti,

Jan van de Pol

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top