From 4d8b1df0c108aa2bc924970c2f001bb7d8ec07c4 Mon Sep 17 00:00:00 2001 From: MeltyPlayer Date: Fri, 10 May 2024 15:25:41 -0500 Subject: [PATCH] Slightly cleaned up the definition for the textbox with a placeholder component. --- .../src/ui/wpf/common/textbox/ITextBox.cs | 15 ++++++++ .../{ => textbox}/TextBoxWithPlaceholder.xaml | 4 +-- .../TextBoxWithPlaceholder.xaml.cs | 36 +++++++++++++++++-- 3 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/ITextBox.cs rename FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/{ => textbox}/TextBoxWithPlaceholder.xaml (84%) rename FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/{ => textbox}/TextBoxWithPlaceholder.xaml.cs (54%) diff --git a/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/ITextBox.cs b/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/ITextBox.cs new file mode 100644 index 000000000..ee722f5d3 --- /dev/null +++ b/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/ITextBox.cs @@ -0,0 +1,15 @@ +using System.Windows.Controls; + +namespace uni.ui.wpf.common.textbox { + public interface ITextBox { + string Text { get; set; } + event TextChangedEventHandler TextChanged; + + int CaretIndex { get; set; } + int MaxLength { get; set; } + + int MaxLines { get; set; } + + CharacterCasing CharacterCasing { get; set; } + } +} \ No newline at end of file diff --git a/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/TextBoxWithPlaceholder.xaml b/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/TextBoxWithPlaceholder.xaml similarity index 84% rename from FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/TextBoxWithPlaceholder.xaml rename to FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/TextBoxWithPlaceholder.xaml index 4879bbd91..0e2840903 100644 --- a/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/TextBoxWithPlaceholder.xaml +++ b/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/TextBoxWithPlaceholder.xaml @@ -1,9 +1,9 @@ - diff --git a/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/TextBoxWithPlaceholder.xaml.cs b/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/TextBoxWithPlaceholder.xaml.cs similarity index 54% rename from FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/TextBoxWithPlaceholder.xaml.cs rename to FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/TextBoxWithPlaceholder.xaml.cs index 4a6563ef0..0392c9933 100644 --- a/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/TextBoxWithPlaceholder.xaml.cs +++ b/FinModelUtility/UniversalAssetTool/UniversalAssetTool.Ui/src/ui/wpf/common/textbox/TextBoxWithPlaceholder.xaml.cs @@ -2,11 +2,11 @@ using System.Windows.Controls; using System.Windows; -namespace uni.src.ui.wpf.common { +namespace uni.ui.wpf.common.textbox { /// /// Interaction logic for WatermarkTextBox.xaml /// - public partial class TextBoxWithPlaceholder : UserControl { + public partial class TextBoxWithPlaceholder : UserControl, ITextBox { private readonly TextBoxWithPlaceholderViewModel viewModel_; public TextBoxWithPlaceholder(TextBoxWithPlaceholderViewModel viewModel) { @@ -14,6 +14,36 @@ public TextBoxWithPlaceholder(TextBoxWithPlaceholderViewModel viewModel) { this.viewModel_ = viewModel; } + public string Text { + get => this.impl_.Text; + set => this.impl_.Text = value; + } + + public event TextChangedEventHandler TextChanged { + add => this.impl_.TextChanged += value; + remove => this.impl_.TextChanged -= value; + } + + public int CaretIndex { + get => this.impl_.CaretIndex; + set => this.impl_.CaretIndex = value; + } + + public int MaxLength { + get => this.impl_.MaxLines; + set => this.impl_.MaxLines = value; + } + + public int MaxLines { + get => this.impl_.MaxLines; + set => this.impl_.MaxLines = value; + } + + public CharacterCasing CharacterCasing { + get => this.impl_.CharacterCasing; + set => this.impl_.CharacterCasing = value; + } + public string Placeholder { get => this.viewModel_.Placeholder; set => this.viewModel_.Placeholder = value; @@ -36,7 +66,7 @@ public string Placeholder { this.placeholder_ = value; this.PropertyChanged?.Invoke( this, - new PropertyChangedEventArgs(nameof(Placeholder))); + new PropertyChangedEventArgs(nameof(this.Placeholder))); } } }