Property of type Visibility in ViewModel

In a WPF application, when you need to call the visibility of a View element from a ViewModel, there are basically two methods:

Method 1: use bool

class ViewModel
{
    public bool IsMyImageVisible { get; set; }
}

View:

<Window.Resources>
    <BooleanToVisibilityConverter x:Key="booleanToVisibility" />
</Window.Resources>

<Image Visibility="{Binding IsMyImageVisible, Converter={StaticResource booleanToVisibility}}" />

Method 2: using Visibility

class ViewModel
{
    public Visibility MyImageVisibility { get; set; }
}

View:

<Image Visibility="{Binding MyImageVisibility}" />

Questions

  • Is "method 2" compatible with MVVM?

  • When should you use "method 1"?

EDIT : Questions have changed to be less opinion-based.

+4
source share
3 answers

ViewModel (WPF). , -, . WPF , ( ).

- ViewModel, - .

+11

:

: , , % 10 , . , , viewmodel - . , , (, BoolToOpacity), . MVVM. , viewmodel, .

+4

, , . / , , , .

.

+2

All Articles