티스토리 뷰

반응형

WPF에서는 기존에 쓰던 대화상자들을 사용할 수 없다는걸 알겁니다.

여러분들은 Win32 API 때 쓰던 공통 대화상자등을 기대할겁니다.
파일 열기, 인쇄하기, 색, 폰트 등등...

그래서 나온게~~~
WPF팀에서 몇가지 다양한 기능을 갖춘 아주 간단한 대화상자를 만들었습니다.

폰트 와 색상을 설정하는 대화상자 입니다.

폰트 설정 상자
Text 팀의 Niklas는 WPF 응용프로그램으로 간단한 샘플을 블로그에 올려놨더군요.
(이젠 안들어가 지더군요 ;; )

이 샘플은 폰트를 사용하는 프로그래밍 기술이 담긴 아주 훌륭한 공부용 소스입니다.

Font Chooser Dialog


색상 설정 대화상자

SDK팀의 Mike는 색상 설정상자를 올려놨더군요

hue, saturation, brightness등을 사용할수도 있고
RGB, scRGB, hex 값도 사용할 수 있더군요.

(이건 다행이 파일이 있었습니다.) 첨부파일을 다운로드 하세요


프로그램을 시작해 봅시다.

색상 설정 샘플 프로그램은 선, 원, 사각형 등을 그릴 수 있고
이 영역에 색도 칠할수 있습니다.

Color Picker Sample Application

Fill or Stroke 색상 설정을 클릭하면 아래와 같은 색상설정을 할 수 있습니다.

Color Picker Dialog Box

그라데이션 사각 영역에서 클릭만으로 또는 스페트럼 막대에서 선택하는 것만으로
간단하게 색이 변경됩니다
알파값, 투명도 등등도 슬라이더바에서 바꿀 수 있습니다.

Color Picker Dialog Box with alpha

ScRGB, sRGB, hex 값도 바꿀수가 있죠
OK 를 누르면 색상이 바뀐걸 확인 하실 수 있습니다.

색상 설정 대화상자 사용하기
간단한 메소드로 쉽게 만들 수가 있습니다.

먼저 SetFill 메소드,
ColorPickerDialog 클래스 객체를 생성하여 ShowDialog 메소드를 호출합니다.
모달상자로 나타나는 색상 설정 대화상자는 상자가 닫힐때  SelectedColor 속성값을 리턴 받을 수 있습니다.

private void SetFill(object sender, RoutedEventArgs e)
{
   
Shape selectedShape =
        (
Shape)GetValue(SelectedShapeProperty);

    Microsoft.Samples.CustomControls.ColorPickerDialog cPicker
      =
new
       
Microsoft.Samples.CustomControls.
ColorPickerDialog
();

    cPicker.StartingColor = FillColor;
    cPicker.Owner =
this;

    bool? dialogResult = cPicker.ShowDialog();
   
if (dialogResult != null && (bool)dialogResult == true)
    {
       
if (selectedShape != null)
            selectedShape.Fill =
               
new SolidColorBrush
(cPicker.SelectedColor);

        FillColor = cPicker.SelectedColor;
    }
}

이 샘플로 마음껏 수정해 보아요~!
- Lorin 씀

반응형
댓글