在 WPF 应用程序中,当需要从 ViewModel 触发 View 的某个元素的可见性时,基本上有两种方法:
方法 1:使用bool
class ViewModel
{
public bool IsMyImageVisible { get; set; }
}
看法:
<Window.Resources>
<BooleanToVisibilityConverter x:Key="booleanToVisibility" />
</Window.Resources>
<Image Visibility="{Binding IsMyImageVisible, Converter={StaticResource booleanToVisibility}}" />
方法2:使用Visibility
class ViewModel
{
public Visibility MyImageVisibility { get; set; }
}
看法:
<Image Visibility="{Binding MyImageVisibility}" />
问题
“方法 2”仍然符合 MVVM 吗?
我什么时候应该使用“方法1”?
编辑:将问题更改为较少基于意见。