RM.Friendly.WPFStandardControls
1.12.2
See the version list below for details.
dotnet add package RM.Friendly.WPFStandardControls --version 1.12.2
NuGet\Install-Package RM.Friendly.WPFStandardControls -Version 1.12.2
<PackageReference Include="RM.Friendly.WPFStandardControls" Version="1.12.2" />
paket add RM.Friendly.WPFStandardControls --version 1.12.2
#r "nuget: RM.Friendly.WPFStandardControls, 1.12.2"
// Install RM.Friendly.WPFStandardControls as a Cake Addin #addin nuget:?package=RM.Friendly.WPFStandardControls&version=1.12.2 // Install RM.Friendly.WPFStandardControls as a Cake Tool #tool nuget:?package=RM.Friendly.WPFStandardControls&version=1.12.2
Friendly.WPFStandardControls
This library is a layer on top of Friendly, so you must learn that first. But it is very easy to learn.
https://github.com/Codeer-Software/Friendly.Windows
Getting Started
Install Friendly.WPFStandardControls from NuGet
Install-Package RM.Friendly.WPFStandardControls
https://www.nuget.org/packages/RM.Friendly.WPFStandardControls/
Friendly.WPFStandardControls defines the following classes.
They can operate WPF control easily from a separate process.
- WPFButtonBase
- WPFComboBox
- WPFListBox
- WPFListView
- WPFMenuBase
- WPFMenuItem
- WPFProgressBar
- WPFRichTextBox
- WPFSelector
- WPFSlider
- WPFTabControl
- WPFTextBox
- WPFTextBlock
- WPFToggleButton
- WPFTreeView
- WPFTreeViewItem
- WPFCalendar
- WPFDatePicker
- WPFDataGrid
//sample
var process = Process.GetProcessesByName("WPFTarget")[0];
using (var app = new WindowsAppFriend(process))
{
dynamic main = app.Type(typeof(Application)).Current.MainWindow;
var grid = new WPFDataGrid(main._grid);
grid.EmulateChangeCellText(0, 0, "abc");
grid.EmulateChangeCellComboSelect(0, 1, 2);
grid.EmulateCellCheck(0, 2, true);
}
//sample : identify the elements.
var process = Process.GetProcessesByName("WPFTarget")[0];
using (var app = new WindowsAppFriend(process))
{
AppVar main = _app.Type<Application>().Current.MainWindow;
var logicalTree = main.LogicalTree();
var textBox = new WPFTextBox(logicalTree.ByBinding("Memo").ByType<TextBox>().Single());
var textBlock = new WPFTextBlock(logicalTree.ByBinding("Memo").ByType<TextBlock>().Single());
var button = new WPFButtonBase(logicalTree.ByBinding("CommandOK").Single());
var listBox = new WPFListBox(logicalTree.ByBinding("Persons").Single());
}
More samples.
https://github.com/Roommetro/Friendly.WPFStandardControls/tree/master/Project/Test
For other GUI types, use the following libraries:
For Win32.
https://www.nuget.org/packages/Codeer.Friendly.Windows.NativeStandardControls/For WinForms.
https://www.nuget.org/packages/Ong.Friendly.FormsStandardControls/For getting the target window.
https://www.nuget.org/packages/Codeer.Friendly.Windows.Grasp/
If you use PinInterface, you map control simple.
https://www.nuget.org/packages/VSHTC.Friendly.PinInterface/
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net30 is compatible. net35 is compatible. net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 was computed. 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. |
-
- Codeer.Friendly.Windows.Grasp (>= 2.7.1)
- Codeer.TestAssistant.GeneratorToolKit (>= 2.1.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on RM.Friendly.WPFStandardControls:
Package | Downloads |
---|---|
Voiceroid2Sharp
VOICEROID2にテキストを送り再生ボタンを押すライブラリ |
|
Voiceroid2Sharp.Standard
Package Description |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on RM.Friendly.WPFStandardControls:
Repository | Stars |
---|---|
YoshihiroIto/Biaui
WPF dark theme and controls for .NET Core and .NET Framework
|
|
ksasao/TTSController
各種 Text-to-Speech エンジンを統一的に操作するライブラリです
|
Version | Downloads | Last updated |
---|---|---|
1.60.0 | 93 | 12/3/2024 |
1.59.1 | 2,306 | 7/7/2023 |
1.59.0 | 4,635 | 12/27/2021 |
1.58.0 | 324 | 12/26/2021 |
1.56.0 | 484 | 12/21/2021 |
1.55.1 | 1,414 | 11/4/2021 |
1.55.0 | 411 | 10/26/2021 |
1.51.1 | 2,164 | 7/15/2021 |
1.51.0 | 511 | 7/9/2021 |
1.50.0 | 477 | 7/7/2021 |
1.48.0 | 462 | 7/7/2021 |
1.47.7 | 495 | 6/23/2021 |
1.47.6 | 434 | 6/22/2021 |
1.47.5 | 458 | 6/15/2021 |
1.47.4 | 497 | 6/7/2021 |
1.47.3 | 428 | 6/3/2021 |
1.47.2 | 428 | 6/1/2021 |
1.47.0 | 471 | 5/28/2021 |
1.46.1 | 1,597 | 11/16/2020 |
1.46.0 | 789 | 9/28/2020 |
1.45.0 | 525 | 9/23/2020 |
1.42.0 | 571 | 9/7/2020 |
1.41.3 | 532 | 8/28/2020 |
1.41.2 | 508 | 8/24/2020 |
1.41.1 | 511 | 8/24/2020 |
1.41.0 | 549 | 8/23/2020 |
1.40.0 | 631 | 7/30/2020 |
1.39.0 | 561 | 7/29/2020 |
1.38.0 | 575 | 7/19/2020 |
1.37.0 | 1,914 | 6/10/2020 |
1.36.7 | 1,730 | 3/5/2020 |
1.36.6 | 662 | 2/25/2020 |
1.36.5 | 781 | 1/15/2020 |
1.36.4 | 824 | 1/5/2020 |
1.36.0 | 673 | 12/13/2019 |
1.34.0 | 669 | 11/6/2019 |
1.33.9 | 624 | 10/29/2019 |
1.33.8 | 1,575 | 8/20/2019 |
1.33.6 | 660 | 8/15/2019 |
1.33.5 | 673 | 7/31/2019 |
1.33.4 | 708 | 7/31/2019 |
1.33.3 | 708 | 7/24/2019 |
1.33.2 | 642 | 7/24/2019 |
1.33.0 | 650 | 7/24/2019 |
1.32.5 | 755 | 6/23/2019 |
1.31.6 | 713 | 6/17/2019 |
1.31.5 | 655 | 6/17/2019 |
1.31.3 | 708 | 6/9/2019 |
1.31.1 | 867 | 5/13/2019 |
1.30.0 | 666 | 5/10/2019 |
1.29.2 | 706 | 4/16/2019 |
1.29.0 | 714 | 4/15/2019 |
1.28.2 | 656 | 4/12/2019 |
1.27.0 | 691 | 4/11/2019 |
1.26.3 | 742 | 3/30/2019 |
1.26.1 | 921 | 3/12/2019 |
1.26.0 | 718 | 3/11/2019 |
1.25.0 | 671 | 3/8/2019 |
1.24.5 | 950 | 2/15/2019 |
1.24.4 | 742 | 2/13/2019 |
1.24.2 | 824 | 1/28/2019 |
1.24.1 | 762 | 1/25/2019 |
1.24.0 | 792 | 1/20/2019 |
1.23.9 | 801 | 1/19/2019 |
1.23.6 | 826 | 1/17/2019 |
1.23.5 | 874 | 1/17/2019 |
1.23.4 | 853 | 1/4/2019 |
1.23.2 | 770 | 1/4/2019 |
1.23.1 | 4,169 | 11/19/2018 |
1.23.0 | 809 | 11/15/2018 |
1.22.1 | 844 | 11/10/2018 |
1.22.0 | 796 | 11/9/2018 |
1.21.0 | 772 | 11/9/2018 |
1.20.2 | 919 | 11/7/2018 |
1.20.1 | 879 | 11/7/2018 |
1.19.0 | 800 | 11/6/2018 |
1.18.5 | 826 | 11/5/2018 |
1.18.2 | 888 | 10/30/2018 |
1.18.0 | 881 | 10/21/2018 |
1.17.0 | 829 | 10/18/2018 |
1.16.0 | 872 | 10/10/2018 |
1.15.17 | 995 | 10/1/2018 |
1.15.10 | 1,016 | 9/17/2018 |
1.15.8 | 877 | 9/9/2018 |
1.15.6 | 928 | 9/5/2018 |
1.15.5 | 895 | 8/28/2018 |
1.15.3 | 896 | 8/24/2018 |
1.15.2 | 886 | 8/23/2018 |
1.15.1 | 885 | 8/22/2018 |
1.15.0 | 906 | 8/21/2018 |
1.14.3 | 918 | 8/21/2018 |
1.14.2 | 980 | 8/5/2018 |
1.14.1 | 977 | 8/5/2018 |
1.14.0 | 1,353 | 7/25/2018 |
1.13.1 | 931 | 7/24/2018 |
1.12.4 | 1,052 | 7/16/2018 |
1.12.3 | 1,015 | 7/16/2018 |
1.12.2 | 1,102 | 7/8/2018 |
1.12.1 | 922 | 7/3/2018 |
1.12.0 | 1,025 | 7/1/2018 |
1.11.1 | 1,511 | 5/2/2018 |
1.11.0 | 1,287 | 3/26/2018 |
1.10.0 | 1,561 | 12/2/2017 |
1.9.0 | 1,136 | 11/25/2017 |
1.8.0 | 2,341 | 9/14/2016 |
1.7.0 | 1,761 | 12/15/2015 |
1.6.0 | 1,992 | 8/3/2015 |
1.5.0 | 1,576 | 8/2/2015 |
1.4.0 | 1,534 | 7/20/2015 |
1.3.0 | 1,405 | 5/5/2015 |
1.1.5 | 1,402 | 4/30/2015 |
1.1.4 | 1,715 | 2/10/2015 |
1.1.2 | 1,685 | 7/7/2014 |
1.1.1 | 1,374 | 7/2/2014 |
1.1.0 | 1,378 | 6/20/2014 |
1.0.0 | 1,170 | 5/9/2014 |
0.0.7 | 1,157 | 5/8/2014 |
0.0.6 | 1,196 | 5/7/2014 |
0.0.5 | 1,221 | 5/6/2014 |
0.0.4 | 1,197 | 5/3/2014 |
0.0.3 | 1,326 | 4/21/2014 |
0.0.2 | 1,517 | 4/4/2014 |
0.0.1 | 1,449 | 3/22/2014 |
0.0.0 | 1,446 | 3/22/2014 |