这是多余的(每个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>
答案 0 :(得分:2)
我不这么认为。
如果itemssource上的绑定是模式OneTime,则在更改列表(添加或删除项目)时不应该更改属性,但是仍然会从列表项的属性中获取属性更改。
因此,如果您不想在商品上显示价格或描述更改,则应在文本块上保留Mode = OneTime。
答案 1 :(得分:1)
我不这么认为。将ItemsSource
设置为 OneTime 会关注项目的集合,而不是项目本身。 ItemsSource
= OneTime 实际上意味着“如果初始化后项目集合发生变化,请不要更新我的ListBox”。