我的方块颜色为SaddleBrown
或WhiteSmoke
,选中时会移至DarkTurquoise
。当正方形顶部没有图像时,这种方法有效。当我在方块顶部有一个(PNG)图像时,原始SaddleBrown
/ WhiteSmoke
颜色显示在它后面但是当颜色应该更改为DarkTurquoise
时,背景颜色没有任何反应广场。
可能是什么问题?
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button x:Name="Square"
Command="{Binding DataContext.BoardGUI.SquareClickCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}"
CommandParameter="{Binding}">
<Button.Template>
<ControlTemplate TargetType="Button">
<Grid Background="{TemplateBinding Background}">
<Image Source="{Binding Source, Converter={StaticResource NullImageConverter}}"/>
</Grid>
</ControlTemplate>
</Button.Template>
</Button>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding SquareColor}" Value="Dark">
<Setter TargetName="Square" Property="Background" Value="SaddleBrown"/>
</DataTrigger>
<DataTrigger Binding="{Binding SquareColor}" Value="White">
<Setter TargetName="Square" Property="Background" Value="WhiteSmoke"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsSelected}" Value="True">
<Setter TargetName="Square" Property="Background" Value="DarkTurquoise"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
答案 0 :(得分:1)
根据评论中的确定,基于屏幕截图和触发器的定义,它似乎是&#34; SquareColor&#34;设置IsSelected后,可能会设置或更改。