WPF 팁

CheckBox ListBox 샘플 이재웅 평점: 10.0/10 (1명 참여) 조회: 4412

 
안녕하세요!
이번에도 스터디하면서 만든 샘플인데요. 함께 공유하고자 합니다.

아래 결과 이미지에서는 ListBox가 상하로 두개 입니다.



두개의 ListBox 모두 하나의 동일한 데이터를 바인딩하고 있습니다.

단 체크 유무에 따라 ListBoxItmeVisibility 트리거가 동작합니다.
(상단 박스는 Visible, 하단 박스는 Collapsed)

상단 ListBoxItem 트리거


<ControlTemplate.Triggers>
    <DataTrigger Binding="{Binding Path=IsUsed}" Value="True">
        <Setter Property="Visibility" Value="Visible"/>
    </DataTrigger>
</ControlTemplate.Triggers>

하단 ListBoxItem 트리거


<ControlTemplate.Triggers>
    <DataTrigger Binding="{Binding Path=IsUsed}" Value="True">
        <Setter Property="Visibility" Value="Collapsed"/>
    </DataTrigger>
</ControlTemplate.Triggers>

데이터 모델 MyData

IsSelected, 체크박스의 IsChecked에 바인딩 하기 위한 IsUsed 변수도 선언했습니다.


public class MyData
{
    public string CheckBoxName { get; set; }
    public bool IsUsed { get; set; }
}


ItemContainer ControlTemplate

체크박스, 리스트박스아이템 그리고 IsUsed를 각각 바인딩을 통해 연결합니다.

체크박스
<CheckBox IsChecked="{Binding Path=IsSelected, 
    RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"
            Foreground="{TemplateBinding Foreground}"
            Content="{Binding CheckBoxName}"/>

리스트박스아이템

<Style TargetType="ListBoxItem" x:Key="LBXITEM_CHECKBOX_USE">
        <Setter Property="IsSelected" Value="{Binding IsUsed}"/>
        ....

전체 내용은 샘플 참고를 부탁드립니다.

태그 : ancestorType c# checkbox itemcontainer listbox wpf
작성자 정보
이재웅
Level 16
 [EXP.50/70]

메일:  비공개

글등록 +12 156 덧글등록 +3 90
자기소개
안녕하세요. 저는 이재웅이라고합니다. ijaeawung@naver.com
글 공유하기 |
  tweet facebook
2015-11-10 오후 8:07:41
나도한마디
사용자
풀뿌리            [2015-11-11]
Level 1
 [EXP.9/16]
깔끔하네요..
사용자
와룡날다            [2017-06-02]
Level 4
 [EXP.1/16]
개인적으로 물어보고싶은데 네이버 이메일 주소 좀 알려주세요~
ijaeawung@naver.com 없는 이메일 주소라네요
태그로 엮인글
[C#.NET Q&A] "X"버튼을 누르고 메세지박스 예 누르면 종료되지 않는 문제가 있습니다.[1]+1  성단See
[C#.NET Q&A] WPF UI visiable 변경시 끊김현상 질문  썬콩콩
[구인&교육정보] [기흥] 관리시스템) C# 중급 개발자 모집(3월초)  인텍솔루션(주)
[구인&교육정보] [방배역인근] 운영) C#.NET 초급 유지보수 모집(즉시)  인텍솔루션(주)
[C#.NET Q&A] 비주얼 스튜디오에서 닷넷 종류에 따라 인텔리센스 MSDN이 영문으로 나옵니다  천9
[C#.NET Q&A] c# Soap 통신 질문한번 더 드립니다.  썬콩콩
[C#.NET Q&A] WPF 사용하여 Excel Export 관련 질문드립니다.[2]  미야
[C#.NET Q&A] c# Soap 통신 질문입니다.[1]+1  썬콩콩
[C#.NET Q&A] System.Drawing.Image 객체의 IsDisposed 여부 확인방법이 있나요?  최광섭
[C#.NET Q&A] c# Colordialog에 버튼 추가 하는방법[1]  SOS1324