Est-il suffisant pour définir le mode de liaison dans ItemsSource?
-
30-09-2019 - |
Question
Est-ce redondant (Mode=OneTime
dans chaque 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>
La solution
Je ne pense pas. Réglage ItemsSource
OneTime concerne la collection de l'article, et non les articles eux-mêmes. ItemsSource
= OneTime signifie vraiment "si l'article changement de collection après l'initialisation, ne met pas à jour mon ListBox".
Autres conseils
Je ne pense pas.
Si la liaison sur le ItemsSource est le mode OneTime vous ne devriez pas obtenir un changement de propriété lorsque vous modifiez la liste (ajouter ou articles supprimer) mais vous aurez toujours des changements de propriété des propriétés des éléments de la liste.
Donc, si vous ne voulez pas les changements de prix d'affichage ou la description de vos articles que vous devez garder Mode = sur les OneTime TextBlocks.