728x90
반응형
728x170
▶ CustomTextEdit.cs
using System.Windows;
using DevExpress.Xpf.Editors;
namespace HowToCreateCustomTextEdit
{
/// <summary>
/// 커스텀 텍스트 에디터
/// </summary>
public class CustomTextEdit : TextEdit
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region Field
/// <summary>
/// 디폴트 에디터 여부 속성
/// </summary>
public static readonly DependencyProperty IsDefaultEditorProperty;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 디폴트 에디터 여부 - IsDefaultEditor
/// <summary>
/// 디폴트 에디터 여부
/// </summary>
public bool IsDefaultEditor
{
get
{
return (bool)GetValue(IsDefaultEditorProperty);
}
set
{
SetValue(IsDefaultEditorProperty, value);
}
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Static
#region 생성자 - CustomTextEdit()
/// <summary>
/// 생성자
/// </summary>
static CustomTextEdit()
{
IsDefaultEditorProperty = DependencyProperty.Register("IsDefaultEditor", typeof(bool), typeof(CustomTextEdit));
CustomTextEditSettings.RegisterCustomEdit();
}
#endregion
////////////////////////////////////////////////////////////////////////////////////////// Instance
//////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - CustomTextEdit()
/// <summary>
/// 생성자
/// </summary>
public CustomTextEdit()
{
}
#endregion
}
}
728x90
▶ CustomTextEditSettings.cs
using System.Windows;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Editors.Helpers;
using DevExpress.Xpf.Editors.Settings;
namespace HowToCreateCustomTextEdit
{
/// <summary>
/// 커스텀 텍스트 에디터 설정
/// </summary>
public class CustomTextEditSettings : TextEditSettings
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region Field
/// <summary>
/// 디폴트 에디터 여부 속성
/// </summary>
public static readonly DependencyProperty IsDefaultEditorProperty;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 디폴트 에디터 여부 - IsDefaultEditor
/// <summary>
/// 디폴트 에디터 여부
/// </summary>
public bool IsDefaultEditor
{
get
{
return (bool)GetValue(IsDefaultEditorProperty);
}
set
{
SetValue(IsDefaultEditorProperty, value);
}
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Static
#region 생성자 - CustomTextEditSettings()
/// <summary>
/// 생성자
/// </summary>
static CustomTextEditSettings()
{
IsDefaultEditorProperty = DependencyProperty.Register("IsDefaultEditor", typeof(bool), typeof(CustomTextEditSettings));
RegisterCustomEdit();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region 커스텀 에디터 등록하기 - RegisterCustomEdit()
/// <summary>
/// 커스텀 에디터 등록하기
/// </summary>
public static void RegisterCustomEdit()
{
EditorSettingsProvider.Default.RegisterUserEditor
(
typeof(CustomTextEdit),
typeof(CustomTextEditSettings),
() => new CustomTextEdit(),
() => new CustomTextEditSettings()
);
}
#endregion
////////////////////////////////////////////////////////////////////////////////////////// Instance
//////////////////////////////////////////////////////////////////////////////// Protected
#region 에디터 코어 할당하기 - AssignToEditCore(baseEdit)
/// <summary>
/// 에디터 코어 할당하기
/// </summary>
/// <param name="baseEdit">IBaseEdit 객체</param>
protected override void AssignToEditCore(IBaseEdit baseEdit)
{
base.AssignToEditCore(baseEdit);
CustomTextEdit customTextEdit = baseEdit as CustomTextEdit;
if(customTextEdit == null)
{
return;
}
SetValueFromSettings(IsDefaultEditorProperty, () => customTextEdit.IsDefaultEditor = IsDefaultEditor);
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'DevExpress > WPF' 카테고리의 다른 글
[DEVEXPRESS/WPF] TextEdit 엘리먼트 : Mask 속성을 사용해 국내 우편 번호 형식으로 입력하기 (0) | 2014.03.30 |
---|---|
[DEVEXPRESS/WPF] TextEdit 엘리먼트 : Mask 속성을 사용해 국내 이동 전화 번호 형식으로 입력하기 (0) | 2014.03.30 |
[DEVEXPRESS/WPF] TextEdit 엘리먼트 : Mask 속성을 사용해 국내 유선 전화 번호 형식으로 입력하기 (0) | 2014.03.30 |
[DEVEXPRESS/WPF] GridColumn 엘리먼트 : EditTemplate 속성을 사용해 컬럼 값 편집용 커스텀 에디터를 정의하는 ControlTemplate 설정하기 (0) | 2014.03.30 |
[DEVEXPRESS/WPF] TextEdit 클래스 : EditCore 속성을 사용해 에디터 모드에서 표시 텍스트 구하기 (0) | 2014.03.29 |
[DEVEXPRESS/WPF] ButtonEditSettings 엘리먼트 사용하기 (0) | 2014.03.29 |
[DEVEXPRESS/WPF] LookUpEdit 엘리먼트 사용하기 (0) | 2014.03.29 |
[DEVEXPRESS/WPF] SpinEdit 엘리먼트 사용하기 (0) | 2014.03.29 |
[DEVEXPRESS/WPF] PopupColorEdit 클래스 : Palettes 속성을 사용해 커스텀 팔레트 설정하기 (0) | 2014.03.29 |
[DEVEXPRESS/WPF] TrackBarEdit 엘리먼트 사용하기 (0) | 2014.03.29 |
댓글을 달아 주세요