WPF: BooleanToSolidColorBrushConverter

2023. 4. 19. 10:43· WPF
목차
  1. ✅ BooleanToSolidColorBrushConverter
  2. BooleanToSolidColorBrushConverter.cs
  3. ViewModel
  4. xaml
  5. ✅ BooleanToSolidColorBrushConverter - 끝

View-ViewModel 간 Binding 시 자료형의 변환이 필요한 경우가 많이 있습니다. ViewModel의 bool 타입이 View의 Visibility속성에 Binding 될 경우가 대표적입니다. 이때 Converter를 사용하여 원하는 동작을 구현할 수 있습니다. 이번 포스팅에서는 bool 타입을 SolidColorBrush (Background 등의 xaml에서 색을 결정하는 Class) 로 변환하는 예제입니다.

 

 

 

✅ BooleanToSolidColorBrushConverter

 

 

 

BooleanToSolidColorBrushConverter.cs

[ValueConversion(typeof(bool), typeof(SolidColorBrush))]
public class BooleanToSolidColorBrushConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (((bool)value) == true)
        {
            return Brushes.Red;
        }
        return Brushes.Green;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        SolidColorBrush color = value as SolidColorBrush;
        if (color != Brushes.Red)
        {
            return true;
        }
        return false;
    }
}

 

 


 

 

ViewModel

private bool _isRed;
public bool IsRed
{
    get => _isRed;
    set { _isRes = value; OnPropertyChanged(nameof(IsRed)); }
}

 

 


 

 

 

xaml

// Resource 등록
<Page.Resources>
    <Converter:BooleanToSolidColorBrushConverter x:Key="colorconv"/>
</Page.Resources>

<Button Background="{Binding IsRed, Converter={StaticResource colorconv}}" Content = "Test"/>

ViewModel이 true 일 때는 Red,  false 일 때는 Green으로 변환합니다.

 

 


 

 

 

응용하면 다양한 Converter를 만드실 수 있습니다.

 

 

 

 

✅ BooleanToSolidColorBrushConverter - 끝

  1. ✅ BooleanToSolidColorBrushConverter
  2. BooleanToSolidColorBrushConverter.cs
  3. ViewModel
  4. xaml
  5. ✅ BooleanToSolidColorBrushConverter - 끝
'WPF' 카테고리의 다른 글
  • PasswordBox: Password 속성에 Binding 하는 두 번째 방법 (Attached Property)
  • DataGrid: 더블 클릭으로 DataRow를 Select 하는 방법
  • WPF: 다른 Control에 가려진 Control을 클릭하는 방법
  • WPF : DataGrid의 더블 클릭 이벤트 (MVVM)
YUNYUN3915
YUNYUN3915

공지사항

  • 블로그 이전 취소

인기 글

태그

  • 어트리뷰트
  • DialogService
  • 윈도우탐색기
  • Git취소
  • C#
  • CS8602
  • TreeView
  • ICloneable
  • PasswordBox MVVM
  • WPF style
  • GIT
  • wpf 전역 스타일
  • OnPropertyChanged
  • TreeViewItem
  • DataGrid
  • wpf 폰트
  • IValueConverter
  • PasswordBox DataBinding
  • ElementHost
  • Expanding Event
  • RelayCommand
  • wpf
  • ItemsControl
  • IDialogService
  • command
  • WPF 흰색바
  • 문자열 관리
  • itemssource
  • WindowsFormsHostingWpfControl
  • 메세지팝업
hELLO · Designed By 정상우.v4.2.0
YUNYUN3915
WPF: BooleanToSolidColorBrushConverter
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.