WPF에서 20분 이내에 명단 스케줄러 보기를 만드는 방법

"오랫동안 생각하고 계획하지 않는 사람은 문앞에서 문제를 발견하게 될 것입니다."
- 공자, 중국 철학자

프로젝트를 완벽하게 계획하려면 프로젝트를 구현하는 데 필요한 직원의 가용성을 알아야 합니다. Syncfusion Scheduler control은 필요한 모든 기능을 제공하여 WPF 응용 프로그램을 개발하여 명단 스케줄러 보기를 만드는 데 도움을 줍니다.

이 블로그에서는 WPF Scheduler 컨트롤을 사용하여 명단 스케줄러 보기를 빠르게 만드는 방법을 알아봅니다. 주어진 기간 동안 직원의 가용성을 추적할 수 있습니다. 다음 스크린샷은 우리가 개발할 애플리케이션의 출력을 보여줍니다.

WPF의 명단 스케줄러 보기

명단 스케줄러 만들기



WPF 애플리케이션에서 명단 스케줄러 보기를 만들려면 다음 단계를 따르세요.

1단계: 시작하기 documentation에 따라 WPF 응용 프로그램을 만들고 여기에 SfScheduler 컨트롤을 추가합니다.

2단계: SfScheduler의 추가 인스턴스에서 다음 속성을 변경합니다.
  • 스케줄러 ViewType 특성을 시간 표시 막대로 설정하십시오.
  • 리소스 데이터를 추가하고 ResourceCollection 속성을 사용하여 스케줄러에 바인딩합니다.
  • ResourceGroupType 특성을 자원으로 설정하여 자원 보기를 사용하십시오.

  • 다음 코드 예제를 참조하십시오.

    <syncfusion:SfScheduler 
        ViewType="Timeline" 
        ResourceGroupType="Resource"
        ItemsSource="{Binding Events}"
        ResourceCollection="{Binding Employees}">
    


    3단계: 다음 코드 예제에 설명된 대로 AppointmentTemplate 을 사용하여 약속 모양을 사용자 지정합니다.

    <syncfusion:SfScheduler.TimelineViewSettings>
       <syncfusion:TimelineViewSettings>
            <syncfusion:TimelineViewSettings.AppointmentTemplate>
                <DataTemplate>
                     <Grid>
                         <Label Foreground="Black" FontWeight="Bold" Content="{Binding Subject}" Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Top"/>
                         <Border Background="{Binding AppointmentBackground}" CornerRadius="5" Height="10" Width="10" HorizontalAlignment="Center" VerticalAlignment="Center" />
                     </Grid>
                </DataTemplate>
            </syncfusion:TimelineViewSettings.AppointmentTemplate>
       </syncfusion:TimelineViewSettings>
     </syncfusion:SfScheduler.TimelineViewSettings>
    


    4단계: 현재 WPF 스케줄러에서 타임라인 월 보기에 대한 직접적인 지원은 없지만 다음 단계에 따라 이를 달성할 수 있습니다.
  • TimelineViewSettings 에서 DaysCount 속성을 ViewChanged 이벤트의 표시 날짜 범위를 기준으로 현재 표시 월의 총 일수로 설정합니다.
  • 기본 시간 표시 막대 보기는 현재 날짜부터 시작됩니다. 스케줄러의 DisplayDate 속성을 사용하여 현재 보이는 달의 시작일로 타임라인을 시작할 수 있습니다.

  • 다음 코드 예제를 참조하십시오.

    scheduler.TimelineViewSettings.DaysCount = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
    scheduler.DisplayDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
    
    scheduler.ViewChanged += OnSchedulerViewChanged;
    
    
    private void OnSchedulerViewChanged(object sender, ViewChangedEventArgs e)
    {
         var date = e.NewValue.ActualStartDate.AddDays(scheduler.TimelineViewSettings.DaysCount / 2);
         scheduler.TimelineViewSettings.DaysCount = DateTime.DaysInMonth(date.Year, date.Month);
         scheduler.DisplayDate = new DateTime(date.Year, date.Month, 1);
    }
    


    5단계: TimelineViewSettings에서 다음 속성을 변경합니다.
  • 시간 눈금자를 숨기려면 TimeRulerSize 을 0으로 설정하십시오.
  • 스케줄러 TimeInterval을 24(하루 총 시간)로 설정하여 TimelineView에서 하루에 하나의 슬롯을 만듭니다.
  • ViewHeaderDateFormat 특성을 사용하여 필요에 따라 보기 헤더 날짜 형식을 사용자 정의하십시오.
  • 표시되는 기본 리소스 수는 3이지만 VisibleResourceCount 속성을 사용하여 사용자 지정할 수 있습니다.

  • 다음 코드 예제를 참조하십시오.

    scheduler.TimelineViewSettings.TimeRulerSize = 0;
    scheduler.TimelineViewSettings.TimeInterval = new TimeSpan(24, 0, 0);
    scheduler.TimelineViewSettings.ViewHeaderDateFormat = "dd";
    scheduler.TimelineViewSettings.VisibleResourceCount = 5;
    


    산출



    출력

    GitHub 참조: 이 GitHub 위치에서 샘플을 다운로드할 수 있습니다.

    결론



    이제 Syncfusion’s WPF Scheduler control 을 사용하여 명단 스케줄러 보기를 만드는 방법에 대한 명확한 아이디어를 얻었기를 바랍니다. 이 컨트롤의 기능은 특정 작업에 직원을 할당하는 동안 작업 부하를 줄이고 시간을 절약하는 데 도움이 됩니다. This control is also available in our Xamarin , UWP , WinForms , Blazor , ASP.NET ( Core , MVC , and Web Forms ), JavaScript , Angular , React , and Vue platforms.

    현재 Syncfusion 사용자인 경우 License and Downloads 페이지에서 최신 버전을 다운로드하고 새로운 기능을 직접 사용해 보십시오. 또한 NuGet 패키지는 NuGet.org 에서 사용할 수 있습니다.

    아직 고객이 아닌 경우 30일 free trial을 사용해 이러한 기능을 확인할 수 있습니다. 또한 이 GitHub 위치에서 다른 샘플을 사용해 보십시오.

    아래 의견 섹션에서 피드백이나 질문을 자유롭게 공유하십시오. support forums, Direct-Trac 또는 feedback portal을 통해 문의하실 수도 있습니다. 기꺼이 도와드리겠습니다.

    좋은 웹페이지 즐겨찾기