Вы не можете использовать Setters
таким образом, если вы используете этот тип записи, движок будет искать присоединенное свойство, или если Style.TargetType
не было установлено для свойства в типе перед точкой.
Самое простое, что можно сделать, - это применить стиль к самому многоугольнику и использовать DataTrigger
, который привязывается к Canvas
, чтобы вы могли активировать его свойства.
<Polygon Points="11,1 16,6 16,16 11,21" Name="polygon">
<Polygon.Fill>
<SolidColorBrush Color="#EEEEEE"/>
</Polygon.Fill>
<Polygon.Style>
<Style TargetType="{x:Type Polygon}">
<Style.Triggers>
<DataTrigger
Binding="{Binding Path=IsMouseOver,
RelativeSource={RelativeSource
AncestorType={x:Type Canvas}}}"
Value="True">
<Setter Property="Stroke" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
<Polygon.Style>
</Polygon>