2011-12-01 39 views
1

一直呆在這一個很長一段時間,不知道我要去哪裏錯了。我得到的消息XAML用戶控件觸發器

Triggers collection members must be of type EventTrigger. 

我覺得我的觸發器的認識是正確的,正是這種類型的觸發器我需要不是一個事件觸發。

這是我的加價

<UserControl.Triggers> 
    <Trigger SourceName="MainGrid" Property="Grid.IsMouseOver" Value="true"> 
     <Setter TargetName="DeleteButton" Property="TextBlock.Foreground" Value="#FF222222" /> 
    </Trigger> 
</UserControl.Triggers> 

編輯:

這不是修復,但我已經使用編程方式完成這一點,直到我找到如何解決在XAML這個問題。

private void MainGrid_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e) 
    { 
     DeleteButton.Foreground = new SolidColorBrush(Color.FromArgb(255, 34, 34, 34)); 
    } 

    private void MainGrid_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e) 
    { 
     DeleteButton.Foreground = new SolidColorBrush(Color.FromArgb(255, 204, 204, 204)); 
    } 
+0

嘗試使用 ... –

+0

謝謝但不幸的是,這也不起作用 – Eddie

回答

1

放置XAML下面的UserControl.Triggers部分:

<EventTrigger SourceName="MainGrid" RoutedEvent="Grid.MouseEnter"> 
      <BeginStoryboard> 
       <Storyboard Storyboard.TargetName="DeleteButton" 
          Storyboard.TargetProperty="Foreground.Color"> 
        <ColorAnimationUsingKeyFrames BeginTime="00:00:00"> 
         <LinearColorKeyFrame Value="Red" 
              KeyTime="0:0:0" /> 
        </ColorAnimationUsingKeyFrames> 
       </Storyboard> 
      </BeginStoryboard>    
     </EventTrigger> 
     <EventTrigger SourceName="MainGrid" 
         RoutedEvent="Grid.MouseLeave"> 
      <BeginStoryboard > 
       <Storyboard Storyboard.TargetName="DeleteButton" 
          Storyboard.TargetProperty="Foreground.Color"> 
        <ColorAnimationUsingKeyFrames BeginTime="00:00:00"> 
         <LinearColorKeyFrame Value="Black" 
              KeyTime="0:0:0" /> 
        </ColorAnimationUsingKeyFrames> 
       </Storyboard> 
      </BeginStoryboard>    
     </EventTrigger> 

希望這有助於。

+0

謝謝。完美的作品 – Eddie