WPF 자습서(18) 확인란

5830 단어 언어 학습
체크 상자는 백엔드 코드에서 부울 값으로 나타나는 옵션을 선택하거나 표시하는 데 사용됩니다.코드를 직접 보시는 게 좋을 것 같습니다.

    
                
                Enable feature ABC
                Enable feature XYZ
                Enable feature WWW
        

복선상자의 사용은 매우 간단합니다. 두 번째 복선상자에서 IsChecked 속성 설정을 사용했습니다. 기본값은 체크입니다. 더 이상 쓸 만한 속성이 없습니다.또한 IsChecked 속성을 사용하여 백엔드 코드에서 어떤 체크 상자가 선택 상태인지 판단할 수 있습니다.
사용자 내용
확인란은 ContentControl 기본 클래스에서 상속되므로 사용자 컨텐트를 옆으로 설정할 수 있습니다.위의 예에서 일부 문자를 작성하면 WPF는 이 문자를 텍스트 블록에 표시합니다.다음과 같은 컨트롤 유형도 포함할 수 있습니다.

    
                
                
                        
                                Enable feature ABC
                        
                
                
                        
                                
                                        Enable feature XYZ
                                
                                
                        
                
                
                        
                                Enable feature WWW
                        
                
        

위의 예에서 알 수 있듯이, 너는 복선상자의 내용에서 많은 일을 할 수 있다.세 개의 복선상자에서 나는 각각 문자에 대해 다른 처리를 했고 중간에 이것은 한 장의 그림을 삽입했다.내용 중의 컨트롤을 통해 우리는 복선상자의 다양한 형식을 실현할 수 있다. 더욱 멋있는 것은 어떤 부분의 컨트롤을 클릭하든지 복선상자의 상태 변화를 촉발할 수 있다.
IsThreeState 속성
체크 상자는 보통 두 가지 상태만 있는 부울 값을 연결합니다:true 또는false.그러나 블라인드 데이터가 비어 있을 수도 있고 세 번째 상태 (null) 가 나타날 수도 있으며, 복선상자도 이러한 상황을 지원한다.IsThreeState 속성을true로 설정하면 콤보 상자는 세 번째 상태를 가지고 있는데 이를 중간 상태라고 부른다.
이런 상태는 보통 복선상자를 열어 하위 복선상자를 열거나 집단 상태를 표시하는 데 사용된다.다음 예제에서는 열 스위치 기능을 만들고 맨 위에 Enable all 확인란을 놓습니다.

        
                
                
                        Enable all
                        
                                Enable feature ABC
                                Enable feature XYZ
                                Enable feature WWW
                        
                
        
using System;
using System.Windows;

namespace WpfTutorialSamples.Basic_controls
{
        public partial class CheckBoxThreeStateSample : Window
        {
                public CheckBoxThreeStateSample()
                {
                        InitializeComponent();
                }


                private void cbAllFeatures_CheckedChanged(object sender, RoutedEventArgs e)
                {
                        bool newVal = (cbAllFeatures.IsChecked == true);
                        cbFeatureAbc.IsChecked = newVal;
                        cbFeatureXyz.IsChecked = newVal;
                        cbFeatureWww.IsChecked = newVal;
                }

                private void cbFeature_CheckedChanged(object sender, RoutedEventArgs e)
                {
                        cbAllFeatures.IsChecked = null;
                        if((cbFeatureAbc.IsChecked == true) && (cbFeatureXyz.IsChecked == true) && (cbFeatureWww.IsChecked == true))
                                cbAllFeatures.IsChecked = true;
                        if((cbFeatureAbc.IsChecked == false) && (cbFeatureXyz.IsChecked == false) && (cbFeatureWww.IsChecked == false))
                                cbAllFeatures.IsChecked = false;
                }

        }
}

두 가지 측면에서 위의 예를 분석합니다. 첫째, Enable all 체크 상자를 보십시오. 선택하거나 선택하지 않으면 모든 하위 체크 상자를 모두 선택하거나 선택하지 않습니다.그런 다음 Enable all 확인란에 어떻게 영향을 미치는지 하위 확인란을 살펴보고 모든 하위 확인란이 선택되거나 선택되지 않은 경우에만 변경됩니다. 이 외에는 중간 상태입니다.
위의 코드를 실행하면 이 과정을 완전하게 볼 수 있습니다. 물론 Checked와 Unchecked 이벤트를 백엔드 코드에 구독해야 합니다.실제 응용에서는 하나의 값으로 귀속되는데 위의 예는 IsThree State 속성의 가장 기본적인 사용법을 보여 준다.

좋은 웹페이지 즐겨찾기