728x90
반응형
728x170
using System;
using System.Windows.Threading;
using DevExpress.Services;
using DevExpress.Xpf.Editors;
/// <summary>
/// 테스트 진행 지시자 서비스
/// </summary>
public class TestProgressIndicatorService : IProgressIndicationService
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 진행 바 에디터
/// </summary>
private ProgressBarEdit progressBarEdit;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 지시자 - Indicator
/// <summary>
/// 지시자
/// </summary>
public ProgressBarEdit Indicator
{
get
{
return this.progressBarEdit;
}
set
{
this.progressBarEdit = value;
}
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - TestProgressIndicatorService(serviceProvider, progressBarEdit)
/// <summary>
/// 생성자
/// </summary>
/// <param name="serviceProvider">서비스 제공자</param>
/// <param name="progressBarEdit">진행 바 에디터</param>
public TestProgressIndicatorService(IServiceProvider serviceProvider, ProgressBarEdit progressBarEdit)
{
this.progressBarEdit = progressBarEdit;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
// IProgressIndicationService
#region 시작하기 - Begin(displayName, minimumProgress, maximumProgress, currentProgress)
/// <summary>
/// 시작하기
/// </summary>
/// <param name="displayName">디스플레이명</param>
/// <param name="minimumProgress">최소 진행</param>
/// <param name="maximumProgress">최대 진행</param>
/// <param name="currentProgress">현재 진행</param>
public void Begin(string displayName, int minimumProgress, int maximumProgress, int currentProgress)
{
this.progressBarEdit.Minimum = minimumProgress;
this.progressBarEdit.Maximum = maximumProgress;
this.progressBarEdit.EditValue = currentProgress;
this.progressBarEdit.Visibility = System.Windows.Visibility.Visible;
Refresh();
}
#endregion
// IProgressIndicationService
#region 종료하기 - End()
/// <summary>
/// 종료하기
/// </summary>
public void End()
{
this.progressBarEdit.Visibility = System.Windows.Visibility.Collapsed;
Refresh();
}
#endregion
// IProgressIndicationService
#region 진행 설정하기 - SetProgress(currentProgress)
/// <summary>
/// 진행 설정하기
/// </summary>
/// <param name="currentProgress">현재 진행</param>
public void SetProgress(int currentProgress)
{
this.progressBarEdit.EditValue = currentProgress;
Refresh();
}
#endregion
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 갱신하기 - Refresh()
/// <summary>
/// 갱신하기
/// </summary>
private void Refresh()
{
Action action = delegate() { };
this.progressBarEdit.Dispatcher.Invoke(DispatcherPriority.Render, action);
}
#endregion
}
728x90
반응형
그리드형(광고전용)
'DevExpress > WPF' 카테고리의 다른 글
[DEVEXPRESS/WPF] RichEditControl 클래스 : 페이지 레이아웃 설정하기 (0) | 2014.05.06 |
---|---|
[DEVEXPRESS/WPF] PivotGridControl 엘리먼트 사용하기 (0) | 2014.05.06 |
[DEVEXPRESS/WPF] RichEditControl 클래스 : 패러그래프 포맷 변경하기 (0) | 2014.05.05 |
[DEVEXPRESS/WPF] RichEditControl 클래스 : 문자 포맷 변경하기 (0) | 2014.05.05 |
[DEVEXPRESS/WPF] RichEditControl 클래스 : 줄 번호 표시하기 (0) | 2014.05.01 |
[DEVEXPRESS/WPF] LayoutControl 클래스 : 레이아웃 복원하기 (0) | 2014.04.23 |
[DEVEXPRESS/WPF] LayoutControl 클래스 : 레이아웃 저장하기 (0) | 2014.04.23 |
[DEVEXPRESS/WPF] LayoutControl 엘리먼트 : ItemStyle 속성을 사용해 레이아웃 항목 레이블을 정의하는 DataTemplate 설정하기 (0) | 2014.04.23 |
[DEVEXPRESS/WPF] LayoutItem 엘리먼트 : LabelStyle 속성 사용하기 (0) | 2014.04.23 |
[DEVEXPRESS/WPF] LayoutControl 엘리먼트 : ItemStyle 속성을 사용해 레이아웃 항목 레이블 스타일 설정하기 (0) | 2014.04.23 |
댓글을 달아 주세요