2013-05-16 10 views
11

Tôi có một trình chặn văn bản hiện có trình kích hoạt đặt màu nền trước khi chuột vào và quay lại mặc định khi nó rời khỏi. Tôi có vấn đề là tôi cũng muốn con trỏ chuột để thay đổi Tôi hiện có sauLàm cách nào để viết Trình kích hoạt WPF để thay đổi con trỏ trên di chuột tự động

<Style TargetType="TextBlock" x:Key="FlatStyleButton"> 
     <Setter Property="Foreground" Value="White"/> 
     <Setter Property="Background" Value="#FF333333" /> 
     <Style.Triggers> 
      <EventTrigger RoutedEvent="UIElement.MouseEnter"> 
       <BeginStoryboard> 
        <Storyboard> 
         <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Foreground.Color" To="CornflowerBlue" /> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
      <EventTrigger RoutedEvent="UIElement.MouseLeave"> 
       <BeginStoryboard> 
        <Storyboard> 
         <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Foreground.Color" To="White" /> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Style.Triggers> 
    </Style> 

Tôi đã thử thêm <Setter Property="Cursor" Value="Hand"></Setter> đến những nơi khác nhau nhưng nó không bao giờ có vẻ làm việc

+2

có một kích hoạt để thực hiện điều này tại http://stackoverflow.com/questions/1132971/wpf-trigger-to-change-cursor –

+0

này cũng có thể giúp bạn http://www.infragistics.com/community/forums/t/62255.aspx –

+0

Tôi đã thử một số thứ như vậy và nó không hoạt động – John

Trả lời

31

kẻ Xin lỗi cậu học sinh đúng cách lỗi trên một phần của tôi tôi sợ, những gì tôi đã cố gắng sẽ làm việc nhưng tôi đã được modifiying trong các tập tin tài nguyên sai. Vì vậy, nếu có ai khác đang Intrested câu trả lời là:

<Style TargetType="TextBlock" x:Key="FlatStyleButton"> 
     <Setter Property="Foreground" Value="White"/> 
     <Setter Property="Background" Value="#FF333333" /> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="Cursor" Value="Hand" /> 
      </Trigger> 
      <EventTrigger RoutedEvent="UIElement.MouseEnter"> 
       <BeginStoryboard> 
        <Storyboard> 
         <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Foreground.Color" To="CornflowerBlue" /> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
      <EventTrigger RoutedEvent="UIElement.MouseLeave"> 
       <BeginStoryboard> 
        <Storyboard> 
         <ColorAnimation Duration="0:0:0.3" Storyboard.TargetProperty="Foreground.Color" To="White" /> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Style.Triggers> 
    </Style>