我有一个转换器,可以根据DataGrid上的绑定值返回背景色。这在WPF中工作得很好,但是当我把这段代码放到silverlight中时,它并不高兴。
看了这里的一些帖子,我似乎不能使用TargetType="{x:Type my:DataGridCell}",答案是简单地使用TargetType="my:DataGridCell",但同样不起作用。
另一个建议是给样式一个键,但是因为我的样式是在我的DataGrid上设置的,所以我不能把它移到Page.Resources (并因此给它一个键),因为我需要绑定到它。如下所示:
<data:DataGrid x:Name="gridResults" CanUserReorderColumns="True" HorizontalAlignment="Left" IsReadOnly="True" AutoGenerateColumns="False" SelectionChanged="gridResults_SelectionChanged" ItemsSource="{Binding}">
<data:DataGrid.CellStyle>
<Style TargetType="{x:Type data:DataGridCell}">
<Setter Property="Background" Value="{Binding SoldIn, Converter={StaticResource conFor}}" />
</Style>
</data:DataGrid.CellStyle>
<data:DataGrid.Columns>
<data:DataGridTextColumn
Header="Outlet"
Width="Auto"
Binding="{Binding Outlet}" />
....
....我怎样才能让我的绑定保持得体,让silverlight高兴呢?
谢谢,Kohan
发布于 2009-11-12 19:50:50
虽然不是完美的解决方案,但是我使用data:DataGridTemplateColumns得到了我想要的结果。
<data:DataGridTemplateColumn Header="Outlet">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border Background="{Binding SoldIn, Converter={StaticResource conFor}}">
<ContentControl Content="{Binding Outlet}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
</Border>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
</data:DataGridTemplateColumn>https://stackoverflow.com/questions/1717104
复制相似问题