Nói chung, có hai cách để làm điều đó, một lớp chuyển đổi hoặc một thuộc tính trong Viewmodel về cơ bản chuyển đổi giá trị cho bạn.
Tôi có xu hướng sử dụng cách tiếp cận thuộc tính nếu nó là một chuyển đổi một lần. Nếu bạn muốn sử dụng lại nó, hãy sử dụng công cụ chuyển đổi. Dưới đây, hãy tìm một ví dụ về bộ chuyển đổi:
<ValueConversion(GetType(Boolean), GetType(Visibility))> _
Public Class BoolToVisibilityConverter
Implements IValueConverter
Public Function Convert(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
If value IsNot Nothing Then
If value = True Then
Return Visibility.Visible
Else
Return Visibility.Collapsed
End If
Else
Return Visibility.Collapsed
End If
End Function
Public Function ConvertBack(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
Throw New NotImplementedException
End Function
End Class
Phương thức thuộc tính ViewModel sẽ chỉ kiểm tra giá trị thuộc tính boolean và trả về khả năng hiển thị dựa trên đó. Đảm bảo triển khai INotifyPropertyChanged và gọi nó trên cả thuộc tính Boolean và Visibility để cập nhật đúng cách.