Достаточно ли установить режим привязки в ItemsSource? - PullRequest
1 голос
/ 07 января 2011

Это избыточно (Mode=OneTime в каждом 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>

Ответы [ 2 ]

2 голосов
/ 07 января 2011

Я так не думаю.

Если привязка к источнику элементов выполняется в режиме OneTime, вы не должны получать изменение свойства при изменении списка (добавление или удаление элементов), но вы все равно будете получать изменения свойств из свойств элементов списка.

Так что, если вы не хотите отображать изменения цены или описания ваших товаров, вы должны оставить Mode = OneTime в текстовых блоках.

1 голос
/ 07 января 2011

Я так не думаю.Установка ItemsSource в OneTime касается коллекции элементов, а не самих элементов.ItemsSource = OneTime действительно означает «если коллекция элементов изменится после инициализации, не обновлять мой ListBox».

...