WPF DataConverter: bool to image, bool to visibility

WPF에서 데이터 컨버터(DataConverter)는 데이터 소스에서 UI 컨트롤로 전달되는 데이터의 형식을 변환하는 데 사용됩니다. 이번 글에서는 bool to image, bool to visibility 등 몇 가지 예시 코드를 통해 데이터 컨버터의 사용 방법을 알아보겠습니다.

bool to image 데이터 컨버터

UI 컨트롤에서 이미지를 사용할 때, 데이터 소스에서 전달되는 데이터가 bool 형식일 경우 해당 데이터를 이미지로 변환하는 컨버터를 만들 수 있습니다. 이를 통해 UI 컨트롤에서 이미지를 손쉽게 사용할 수 있습니다.

public class BoolToImageConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        bool isTrue = (bool)value;
        string imageName = isTrue ? "TrueImage.png" : "FalseImage.png";
        ImageSource imageSource = new BitmapImage(new Uri($"pack://application:,,,/Images/{imageName}"));

        return imageSource;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

bool to visibility 데이터 컨버터

UI 컨트롤에서 Visibility 속성을 사용할 때, 데이터 소스에서 전달되는 데이터가 bool 형식일 경우 해당 데이터를 Visibility 형식으로 변환하는 컨버터를 만들 수 있습니다. 이를 통해 UI 컨트롤의 Visibility를 손쉽게 제어할 수 있습니다.

public class BoolToVisibilityConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        bool isTrue = (bool)value;
        return isTrue ? Visibility.Visible : Visibility.Collapsed;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}


날짜:

카테고리:

,

태그: