2010-09-15 17 views
13

Làm thế nào để ẩn một StringFormat khi dữ liệu không được present.Consider mẫuLàm thế nào để ẩn StringFormat nếu dữ liệu là null

<TextBlock Text="{Binding Amount, StringFormat=Total: {0:C}}" /> 

này trong trường hợp này nếu Amount là null, Sau đó nó sẽ hiển thị chỉ Tổng số: .Làm thế nào để ẩn này nếu Amount là null hoặc rỗng

+0

Chúng tôi đang xem xét điều gì? – linuxuser27

Trả lời

22

"TargetNullValue" là những gì tôi đang tìm kiếm. Tôi đã kết thúc với điều này và nó hoạt động như một sự quyến rũ

<TextBlock VerticalAlignment="Top" 
      Text="{Binding Path=TotalMonths, 
     TargetNullValue={x:Static System:String.Empty}, 
     StringFormat=Total: {0:C}}" /> 
+10

Dường như bạn nên cung cấp tín dụng cho rudigrobler và cập nhật bài viết ban đầu của bạn với các chi tiết . – jpierson

+3

Đừng quên thêm không gian tên này: xmlns: System = "clr-namespace: System; assembly = mscorlib" – DeveloperDan

24

Bạn có thể phải thực hiện một số loại chuyển đổi giá trị (Example) hoặc xem xét sử dụng tài sản TargetNullValue trên các ràng buộc (Example)

1

không có nhiều để làm việc với ở đây, nhưng bạn có thể đạt được điều gì đó như với điều này:

  • DataTrigger
  • ValueConverter
  • EventHandling trong Code-Behind
  • Ràng buộc trên (dependency-) bất động sản trong một ViewModel đóng gói các lớp doanh nghiệp của bạn
+0

Tôi giải quyết nó bằng cách sử dụng một công cụ chuyển đổi giá trị .. nhưng vẫn giúp biết bất kỳ cách tiếp cận thay thế ... BTW không thể xử lý trong lớp kinh doanh của tôi kể từ khi tôi đang sử dụng datatables – biju

13
TargetNullValue='' 

Cũng sẽ làm

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