我有一个转换器,它根据DataGrid上的绑定值返回背景颜色。这在WPF中运行得很好但是当我把这个代码放到silverlight中时它不高兴。
在这里阅读一些帖子似乎我无法使用TargetType="{x:Type my:DataGridCell}"
建议的答案是简单地使用TargetType="my:DataGridCell"
,但这又不起作用。
另一个建议是给样式一个Key,但是当我的样式设置在我的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}" />
....
....
如何保持我的约束力,让银光开心?
谢谢, 钢钣
答案 0 :(得分:0)
不是完美的解决方案,但我使用数据得到了我想要的结果:而不是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>