Dirkster.InplaceEditBoxLib
1.1.0
See the version list below for details.
dotnet add package Dirkster.InplaceEditBoxLib --version 1.1.0
NuGet\Install-Package Dirkster.InplaceEditBoxLib -Version 1.1.0
<PackageReference Include="Dirkster.InplaceEditBoxLib" Version="1.1.0" />
paket add Dirkster.InplaceEditBoxLib --version 1.1.0
#r "nuget: Dirkster.InplaceEditBoxLib, 1.1.0"
// Install Dirkster.InplaceEditBoxLib as a Cake Addin #addin nuget:?package=Dirkster.InplaceEditBoxLib&version=1.1.0 // Install Dirkster.InplaceEditBoxLib as a Cake Tool #tool nuget:?package=Dirkster.InplaceEditBoxLib&version=1.1.0
InplaceEditBoxLib
WPF/MVVM control to implement a textbox on top of other elements like a TreeViewItem or ListViewItem (use case: perform in place edit of a displayed item)
Use Case: Edit-In-Place
The edit-in-place text control contained in this project can be used as a base for developing applications where users would like to edit text strings as overlay over the normally displayed string.
The best and well known example of an edit-in-place text control is the textbox overlay that is used for renaming renaming a file or folder in Windows Explorer. The user typically selects an item in a list (listbox, listview, grid) or structure of items (treeview) and renames the item using a textbox overlay (without an additional dialog).
Change of focus (activation of a different window), pressing escapee leads to canceling of the rename process and pressing enter leads to confirmation of the new string.
Features
This edit-in-place control in this project can be used in the collection of any ItemsControl (Treeview, ListBox, ListView etc).
Find more details in CodeProject: https://www.codeproject.com/Articles/802385/A-WPF-MVVM-In-Place-Edit-TextBox-Control
Demo in this Repository
The demo program shows how the control can be used in a treeview with:
keybinding - Press F2 to rename - Press ESC to cancel renaming
Context Menu - Click Rename in context Menu to rename an item
Double Click - Double click the text portion to start renaming
Watch this video on youtube https://www.youtube.com/watch?v=iOiveZ214M0&feature=youtu.be
and Handling Errors, such as:
- Renaming with an invalid character (Press ? in Edit Mode to see a pop-up message)
- Attempting to name 2 items with the same name (Name 2 items 'a' should invoke a pop-up message on the 2nd items rename)
- Minimum and Maximum length of a name should between 1 - 254 Characters (naming item with empty string '' should invoke a pop-up message)
Editing text with Text and DisplayText properties
The edit-in-place control has 2 string properties, one is for display (DisplayText) and the other (Text) string represents the value that should be edited.
This setup enables application developers to show more than just a name in each item. Each item can, for example, display a name and a number by using the DisplayText property, while the Text property should contain the string that is to be edit.
The confirmation of editing does not change either of the above dependency properties. The edit-in-place control executes instead the command that is bound to the RenameCommand dependency property to let the viewmodel adjust all relevant strings.
The view invokes the bound RenameCommand and passes the RenameCommandParameter as parameter along.
Theming
Check theming here:
Load Light or Dark brush resources in you resource dictionary to take advantage of existing definitions.
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/InplaceEditBoxLib;component/Themes/DarkBrushes.xaml" />
</ResourceDictionary.MergedDictionaries>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/InplaceEditBoxLib;component/Themes/LightBrushes.xaml" />
</ResourceDictionary.MergedDictionaries>
These definitions do not theme all controls used within this library. You should use a standard theming library, such as:
- MahApps.Metro,
- MLib, or
- MUI
to also theme standard elements, such as, button and textblock etc.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
- Dirkster.UserNotifications (>= 1.4.0)
- log4net (>= 2.0.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Dirkster.InplaceEditBoxLib:
Package | Downloads |
---|---|
Dirkster.FileListView
Provides a WPF/MVVM listview control for Windows file system folders and files. |
|
Dirkster.FolderBrowser
Provides a WPF/MVVM folder browser tree view control to displays and browse folders in the Windows file system. |
|
Dirkster.FilterControlsLib
Provides a WPF/MVVM filter combobox view control to filter displays on Windows file system folders and files. |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Dirkster.InplaceEditBoxLib:
Repository | Stars |
---|---|
Dirkster99/Edi
Edi - The open source text editor IDE based on AvalonDock and AvalonEdit
|
|
0xf005ba11/vmplex-ws
A tabbed UI for Microsoft's Hyper-V
|
Version | Downloads | Last updated |
---|---|---|
1.4.2 | 3,073 | 2/26/2022 |
1.4.1 | 668 | 8/24/2021 |
1.4.0 | 3,701 | 9/2/2019 |
1.3.1-alpha | 569 | 2/15/2019 |
1.3.0 | 2,304 | 2/15/2019 |
1.2.0-alpha | 760 | 1/22/2019 |
1.1.2.1 | 1,275 | 11/3/2018 |
1.1.2 | 1,391 | 7/14/2018 |
1.1.1 | 1,265 | 5/13/2018 |
1.1.0 | 1,039 | 5/13/2018 |
1.0.0.3 | 6,986 | 9/6/2017 |
1.0.0.2 | 1,154 | 9/3/2017 |
1.0.0.1 | 1,063 | 9/3/2017 |
Pre-release to fix Measuring method https://github.com/Dirkster99/InplaceEditBoxLib/issues/2