! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

C1DateTimePicker Calendar 사이즈 조정 문의드립니다. > Q&A | 토론

본문 바로가기

ComponentOne

Q&A | 토론 - WPF

WPF C1DateTimePicker Calendar 사이즈 조정 문의드립니다.

페이지 정보

작성자 yjmny 작성일 2023-03-28 09:31 조회 485회 댓글 0건
제품 버전 : C1 WPF 4.6.2
컨트롤 이름 : C1DateTimePicker Calendar

본문

안녕하세요.
C1DateTimePicker 사용중인데 DateTime의 Calendar 크기를 설정할수 있는 방법이 있을까요?



 

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

1 답변

WPF Re: C1DateTimePicker Calendar 사이즈 조정 문의드립니다.

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 GCK싸이먼 작성일 2023-03-30 08:50 댓글 0건

본문

첨부파일

안녕하세요 그레이프시티입니다.


고객님께서 C1DateTimePicker 컨트롤의 DateTime 설정 시 출력 되는 

Calendar의 크기를 직접적으로 수정하고 싶으신 것으로 이해를 했습니다.


안타깝게도 C1DateTimePicker의 캘린더 크기를 직접적인 변경은 불가능 한 것으로 확인이 됩니다.

다만, 캘린더 템플릿의 너비, 높이, 글꼴 크기 등을 조정하여 

간접적으로 캘린더의 크기는 조정이 가능합니다.


예를 들어, 큰 크기의 캘린더를 원하신다면 

C1DateTimePicker의 Loaded 이벤트를 아래의 코드와 같이 작성을 하실 수 있습니다.

var calendar = popup.Child as Calendar;
calendar.Loaded += (send, e2) =>
{
    var s2 = calendar.Template.FindName("PART_CalendarItem", calendar) as CalendarItem;
    s2.Width = 400; // 너비를 조정하십시오.
    s2.Height = 400; // 높이를 조정하십시오.

    // 캘린더 그리드와 글꼴 크기를 조정하십시오.
    var topGrid = s2.Template.FindName("3_T", s2) as Grid;
    foreach (var col in topGrid.ColumnDefinitions)
    {
        col.Width = new GridLength(1, GridUnitType.Star);
    }
    foreach (var child in topGrid.Children)
    {
        if (child is Button btn)
            btn.FontSize = 18;
    }


    var monthGrid = s2.Template.FindName("PART_MonthView", s2) as Grid;
    foreach (var col in monthGrid.ColumnDefinitions)
    {
        col.Width = new GridLength(1, GridUnitType.Star);
    }
    foreach (var row in monthGrid.RowDefinitions)
    {
        row.Height = new GridLength(1, GridUnitType.Star);
    }
    foreach (var child in monthGrid.Children)
    {
        if (child is TextBlock txt)
            txt.FontSize = 18;
        if (child is CalendarDayButton btn)
            btn.FontSize = 18;
    }

    var yearGrid = s2.Template.FindName("PART_YearView", s2) as Grid;

    foreach (var row in yearGrid.RowDefinitions)
    {
        row.Height = new GridLength(1, GridUnitType.Star);
    }
    foreach (var child in yearGrid.Children)
    {
        if (child is TextBlock txt)
            txt.FontSize = 18;
        if (child is CalendarButton btn)
            btn.FontSize = 18;
    }
};

샘플 프로젝트를 첨부드리오니 참고하여 주시기 바랍니다.


추가로 궁금하신 사항은 문의해 주시기 바랍니다.

감사합니다.

그레이프시티 드림.


댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.