È sufficiente impostare la rilegatura in modalità ItemsSource?
-
30-09-2019 - |
Domanda
E 'questo ridondante (Mode=OneTime
in ogni TextBlock
)?
<ListBox ItemsSource="{Binding Path=SearchResultsItems, Mode=OneTime}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Price, Mode=OneTime}" />
<TextBlock Text="{Binding Path=Description, Mode=OneTime}" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Soluzione
Non penso così. Impostazione ItemsSource
a OneTime riguarda la raccolta di voce, non gli oggetti stessi. ItemsSource
= OneTime in realtà significa "se il cambiamento insieme di elementi dopo l'inizializzazione, non aggiornare il mio ListBox".
Altri suggerimenti
Non penso così.
Se il legame sul ItemsSource è la modalità per idee più chiare non si dovrebbe ottenere una modifica della proprietà quando si modifica la lista (aggiungere o rimuovere elementi), ma ci si può comunque modifiche alle proprietà dalle proprietà delle voci di elenco.
Quindi, se non si vuole di prezzo di visualizzazione o cambiamenti di designazione sui vostri articoli si dovrebbe tenere Mode = idee più chiare sulle TextBlocks.