所有与不同索引集合项的绑定同时更新WPF

时间:2013-06-05 08:48:04

标签: wpf binding wpf-controls

我的WPF视图中有这样的代码..

    <!--Column 2-->
    <Border Grid.Column="1" Grid.Row="1" >
        <TextBox x:Name="textB2BR0K2" Text="{Binding Path=ListBlok2B[0].B2B1}" />
    </Border>
    <TextBox x:Name="textB2BR1AK2" Grid.Column="1" Grid.Row="4" Text="{Binding Path=ListBlok2B[0].B2BR1A}"/>
    <TextBox x:Name="textB2BR1BK2" Grid.Column="1" Grid.Row="5" Text="{Binding Path=ListBlok2B[0].B2BR1B}"/>
    <TextBox x:Name="textB2BR1CK2" Grid.Column="1" Grid.Row="6" Text="{Binding Path=ListBlok2B[0].B2BR1C}"/>

    <!--Column 3-->
    <Border Grid.Column="2" Grid.Row="1" >
        <TextBox x:Name="textB2BR0K3" Text="{Binding Path=ListBlok2B[1].B2B1}" />
    </Border>
    <TextBox x:Name="textB2BR1AK3" Grid.Column="2" Grid.Row="4" Text="{Binding Path=ListBlok2B[1].B2BR1A}"/>
    <TextBox x:Name="textB2BR1BK3" Grid.Column="2" Grid.Row="5" Text="{Binding Path=ListBlok2B[1].B2BR1B}"/>
    <TextBox x:Name="textB2BR1CK3" Grid.Column="2" Grid.Row="6" Text="{Binding Path=ListBlok2B[1].B2BR1C}"/>

然后我从我的数据库中填写此字段并正常工作。但是当我尝试更改其中一个值时,所有具有某些绑定属性的数据会同时更改 当我尝试在其中进行编辑时,ListBlok2B[0].B2BR1AListBlok2B[1].B2BR1A会同时发生变化..

任何人都知道如何解决这个问题?我希望它绑定在我拥有的不同索引集合中,以便将其插入我的数据库context.Blok2Bs.insertAllOnSubmit(ListBlok2B)

1 个答案:

答案 0 :(得分:0)

为什么不使用itemscontrol并将您的集合绑定到它?

 <ItemsControl ItemsSource="{Binding ListBlok2B}>
   <ItemsControl.ItemTemplate>
    <DataTemplate>     
     <Grid>
      <Border Grid.Column="1" Grid.Row="1" >
         <TextBox x:Name="textB2BR0K2" Text="{Binding Path=B2B1}" />
      </Border>
      <TextBox Grid.Column="1" Grid.Row="4" Text="{Binding Path=B2BR1A}"/>
      <TextBox Grid.Column="1" Grid.Row="5" Text="{Binding Path=B2BR1B}"/>
      <TextBox Grid.Column="1" Grid.Row="6" Text="{Binding Path=B2BR1C}"/>

      </Grid>
    </DataTemplate>
   </ItemsControl.ItemTemplate>
 </ItemsControl>