2013-12-19 73 views
0
<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綁定模式。很明顯,後面的集合不會被更新。但無論如何,我沒有理由將它設置爲TextBox。我仍然想做一些改變,我不希望它們反映在原始收藏中,但在其他地方。我不知道我能否做到這一點,有人可以給我一個提示嗎?最後修改後,如果我遍歷列表中的項目,我將從原始集合中取回值,未修改的值,我只需要新的值。wpf listview綁定到多個來源

回答

1

你將必須創建自己的自定義此綁定(您自己的類從Binding類繼承和重寫設置操作)

這是一個相當大的話題到自身,並根據您的實施可能會有所不同滿足您對既定目標的要求,但這是開始的地方。