我有两列,第二列依赖于第一列的内容。 默认情况下,第二列是只读的。 当我输入一些有效的价值,我想第二列成为可编辑的。 为了实现这一目标,我创建了那里回地面和只读绑定到第一列第二列的单元格模板和细胞编辑模板。 在负载时,第一列是空,因此只读我的第二列来正确。 以下是用于第二列,其中,所述背景色是通过基于第一列设置单元模板。
<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>
有了这两个到位,当第一列输入有效的价值,我期待第二栏的颜色改变,但事实并非如此。 但如果我对细胞双击它,然后正确行为会基于第一个单元格。 有一些事情我失踪?