2009-05-01 29 views
5

Các XAML bên dưới không hoạt động (văn bản không thay đổi khi rê chuột lên):Thuộc tính TextBlock Text không thể được đặt thông qua trình kích hoạt kiểu nếu không trống - tại sao?

<Window.Resources> 
    <Style TargetType="TextBlock"> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="true"> 
       <Setter Property="Text" Value="hover"/> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Window.Resources> 
<Grid> 
    <TextBlock Text="original"/> 
</Grid> 

Nhưng, nếu thuộc tính chữ là mất tích:

<Grid> 
    <TextBlock/> 
</Grid> 

Các văn bản không thay đổi trên chuột lên. Có ai biết lý thuyết đằng sau điều này không?

Trả lời

6

Đó là một vấn đề thuộc tính phụ thuộc được ưu tiên, khi bạn thực sự thiết lập thuộc tính như trong:

<TextBlock Text="original"/> 

đó được ưu tiên hơn giá trị đặt tại cò.

thấy

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

+0

Đây là một liên kết tuyệt vời. Giải thích _lot_ về những gì tôi đã nghĩ là các lỗi của tôi và chỉ thực hiện các cách tiếp cận khác nhau. –

+0

Tuy nhiên, họ có thể thiết kế nó trong khi người định cư phong cách là người yêu hơn giá trị cục bộ, kiểu _triggers_ sẽ cao hơn ... Vì cả hoạt ảnh và trình kích hoạt dữ liệu có thể dễ dàng ghi đè giá trị cục bộ, trình kích hoạt kiểu động cũng có thể rơi vào danh mục đó. –

Các vấn đề liên quan