1

我想将以下内容Style应用于我的Polygon

<Style xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:s="clr-namespace:System;assembly=mscorlib" 
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   TargetType="{x:Type Polygon}">

<Style.Triggers>

    <Trigger Property="Shape.IsMouseOver" Value="True">

        <Setter Property="Shape.Stroke">
            <Setter.Value>
                <SolidColorBrush>#FF000000</SolidColorBrush>
            </Setter.Value>
        </Setter>

        <Setter Property="Shape.StrokeThickness">
            <Setter.Value>
                <s:Double>2</s:Double>
            </Setter.Value>
        </Setter>

    </Trigger>

    <Trigger Property="Shape.IsMouseOver" Value="False">

        <Setter Property="Shape.StrokeThickness">
            <Setter.Value>
                <s:Double>0</s:Double>
            </Setter.Value>
        </Setter>

    </Trigger>

</Style.Triggers>


<Setter Property="Shape.Fill" Value="{x:Null}"/>  

</Style>

当光标在我的多边形上时,我想要一个黑色笔划,当光标不在我的多边形上时,我不想看到任何东西。为什么这种风格不起作用(我什么都没看到)?

编辑:

这是我的多边形:

var pol = new Polygon();

using (FileStream stream = new FileStream("myStyle.xaml", FileMode.Open))
       pol.Style = XamlReader.Load(stream) as Style;
4

1 回答 1

1

不要设置Shape.Fillto Null,试试这个:

<Setter Property="Shape.Fill" Value="Transparent"/>  
于 2012-06-26T10:49:08.033 回答