【发布时间】:2013-12-19 13:40:19
【问题描述】:
<ListView x:Name="lvPayload" Grid.Row="1" ItemsSource="{Binding Payload}" HorizontalAlignment="Center" VerticalAlignment="Center">
<ListView.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding Value, StringFormat=0x{0:x2}, Mode=OneWay, Converter={StaticResource hexConverter}}" FontSize="15" Margin="2,1,2,1" MinWidth="25" MinHeight="20" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" VerticalAlignment="Center"></WrapPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
我在 TextBox.Text 属性上设置了 OneWay 绑定模式。很明显,后面的收藏是不会更新的。但无论如何,我没有无缘无故地将它设置为文本框。我仍然想做一些改变,我不希望它们反映在原始集合中,而是反映在其他地方。我不知道我是否可以做到这一点,有人可以给我一个提示吗?在最终修改之后,如果我遍历列表的项目,我将从原始集合中取回值,那些未修改的值,我只需要新值。
【问题讨论】:
标签: c# wpf data-binding