2010-04-05 38 views
14

Làm thế nào tôi có thể kiểm tra chuỗi rỗng trong triggerRỗng Chuỗi Nhận kích hoạt

<Trigger Property="Source" SourceName="ControlName" Value=""> 
    <Setter Property="Height" Value="0" TargetName="ControlName" /> 
</Trigger> 

tôi đã thiết lập các Chiều cao của Control là 0 nếu nguồn gốc của imageControl là chuỗi rỗng hoặc không được thiết lập? Làm thế nào tôi có thể làm điều đó, Về cơ bản Nếu hình ảnh không được đặt thì tôi muốn ẩn điều khiển hình ảnh trong mẫu.

Xin cảm ơn trước.

Trả lời

37

Kent là đúng rằng nguồn không phải là một chuỗi nhưng nếu bạn không có một tài sản sting để kiểm tra chống lại bạn có thể sử dụng giá trị String.Empty tĩnh:

Value="{x:Static sys:String.Empty}" 

và không gian tên sys khai báo là

xmlns:sys="clr-namespace:System;assembly=mscorlib" 
+0

Làm thế nào tôi có thể sử dụng điều này trong dự án Silverlight, do đó tĩnh không được hỗ trợ trong Silverlight – Eldho

+0

Cảm ơn bạn đã khai báo không gian tên, đây là những gì tôi cần :) – Drarig29

3

Nếu thuộc tính không được đặt, giá trị của nó sẽ là null. Để xác định null trong XAML bạn sử dụng một phần mở rộng đánh dấu:

<Trigger Property="Source" SourceName="ControlName" Value="{x:Null}"> 
    <Setter Property="Height" Value="0" TargetName="ControlName" /> 
</Trigger> 
+0

nhờ cho ý kiến ​​của bạn, nhưng tôi muốn để kiểm tra chuỗi rỗng, nghĩa là "" hoặc string.Empty, làm thế nào tôi có thể kiểm tra xem nó? –

+0

Thuộc tính 'Nguồn' không phải là một' chuỗi', nó là một 'ImageSource', vì vậy những gì bạn đang cố gắng làm không có ý nghĩa. –

+0

Giả sử rằng chúng tôi có các điều khiển như textblock, nhãn có nội dung hoặc thuộc tính Văn bản thuộc loại chuỗi. sau đó làm thế nào chúng ta có thể kiểm tra? –

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