Xaml 如何基于SL4中另一个单元格的内容使datagrid中的单元格成为只读的?

Xaml 如何基于SL4中另一个单元格的内容使datagrid中的单元格成为只读的?,xaml,data-binding,silverlight-4.0,Xaml,Data Binding,Silverlight 4.0,我有两列,第二列取决于第一列的内容。默认情况下,第二列为只读。当我输入一些有效值时,我希望第二列成为可编辑的。 为了实现这一点,我在第二列上创建了一个单元格模板和单元格编辑模板,其中back ground和read only绑定到第一列。加载时,第一列为null,因此我的第二列是只读的。下面是第二列的单元格模板,其中背景颜色是根据第一列设置的 <DataTemplate> <Grid> <Border Background="{Binding Fr

我有两列,第二列取决于第一列的内容。默认情况下,第二列为只读。当我输入一些有效值时,我希望第二列成为可编辑的。 为了实现这一点,我在第二列上创建了一个单元格模板和单元格编辑模板,其中back ground和read only绑定到第一列。加载时,第一列为null,因此我的第二列是只读的。下面是第二列的单元格模板,其中背景颜色是根据第一列设置的

 <DataTemplate>
   <Grid>
     <Border Background="{Binding FristColumn,Converter={StaticResource ColorConverter}}"/>
     <TextBlock Text="{Binding SecondColumn, Converter={StaticResource NumberFormatter}}" HorizontalAlignment="Stretch"  VerticalAlignment="Center" Margin="0"/>
   </Grid>
  </DataTemplate>

下面是第二列的单元格编辑模板,以使其可编辑

<DataTemplate>
  <Grid>
    <TextBox Text="{Binding SecondColumn, Mode=TwoWay, Converter={StaticResource NumberFormatter}}" Margin="0" HorizontalAlignment="Right"  IsReadOnly="{Binding FirstColumn, Converter={StaticResource readOnlyConverter}, ConverterParameter=FirstColumn}" Background="{Binding Depend,Converter={StaticResource ColorConverter}, ConverterParameter=FirstColumn}" />
  </Grid>
</DataTemplate>


有了这两个选项,当在第一列中输入有效值时,我希望第二列的颜色会改变,但它不会改变。但是,如果我双击该单元格,它将根据第一个单元格正常运行。有什么东西我遗漏了吗

问题是,对象集合没有实现INotifyPropertyChanged。一旦我实现了InotifyPropertyChange,颜色和单元格将基于转换器变得可编辑和不可编辑。 希望这能帮助别人