XAML: associazione del fiasco con un DataTemplate all'interno di un ListView all'interno di un DataTemplate

StackOverflow https://stackoverflow.com/questions/5841462

Domanda

Ciao, ho un dataTemplate per un ViewModel.

All'interno di questo DataTemplate ho ottenuto un ListView associato a una raccolta del modello e lì In non volevo essere in grado di impostare una proprietà degli elementi nella raccolta.

Le impostazioni disponibili della proprietà si trovano in un'altra raccolta nel ViewModel originale, ma ho difficoltà a vincolarle.

<DataTemplate DataType="{x:Type ViewModel}">

    <!-- Some irrelevant property bindings -->

    <ListView ItemsSource="{Binding Path=TheCollection}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ComboBox ItemsSource="{Binding RelativeSource={RelativeSource SOMEAPPROPRIATERELATIVESOURCE}, 
                                           Path=AvailablePropertiesCollection}"  SelectedItem="{Binding Path=TheProperty}" />
                </DataTemplate>
            </ListView.ItemTemplate>
    </ListView>

Esiste un buon modo per ottenere l'associazione all'elemento del DataTemplate di livello superiore?

È stato utile?

Soluzione

Credo che vorresti usare:

ItemsSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListView}}, 
    Path=DataContext.AvailablePropertiesCollection}"

Questo si lega a AvailablePropertiesCollection nel contesto dati di ListView.

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