2011-12-16 3 views
3

Я полностью новый в WPF. Это путают, почему первый фрагмент кода отлично работает (когда мышь, цвет меняется), а второй не работает?Изменить цвет эллипса при наведении указателя мыши на

<Ellipse Height="50" Width="50" Opacity="0.5" Stroke="Black" > 
<Ellipse.Style> 
    <Style TargetType="{x:Type Ellipse}"> 
     <Setter Property="Fill" Value="Blue" /> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="Fill" Value="Green"> 
       </Setter> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Ellipse.Style> 

//

<Ellipse Height="50" Width="50" Fill="Blue" Opacity="0.5" Stroke="Black" > 
<Ellipse.Style> 
    <Style TargetType="{x:Type Ellipse}"> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="Fill" Value="Green"> 
       </Setter> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Ellipse.Style> 

спасибо.

ответ

0

Разница заключается линия

<Setter Property="Fill" Value="Blue" /> 

Подробнее о ControlTemplates.

http://msdn.microsoft.com/en-us/library/ms743230.aspx

+0

кто изменил это? Пожалуйста, опустите с комментарием. Человек, задавший вопрос, отметил это как ответ. –

+1

Я не сделал это, но рассуждение, вероятно, таково: 1) вы указали, где проблема, но не объяснили проблему, и 2) проблема в том, что ' cod3monk3y

5

Это чисто из-за стоимости недвижимости старшинства. Нижеследующая ссылка получила отличное объяснение.

WPF Trigger won't set property if set in Element

+0

, конечно, это было решение, но я просто дал вам ссылку, когда у меня были такие же сомнения в моем сознании. –

Смежные вопросы