From 15be15208bdcbf078a1e98da6eee66654abca3f6 Mon Sep 17 00:00:00 2001 From: Matt Lacey Date: Fri, 26 May 2023 08:11:39 +0100 Subject: [PATCH 1/2] Update WPF docs regarding previously deprecated items that have been removed Fixes #4676 --- docs/WPF/frameworks/mvvmbasic.md | 2 +- docs/WPF/frameworks/mvvmlight.md | 2 +- docs/WPF/frameworks/readme.md | 2 +- docs/WPF/getting-started-endusers.md | 4 +--- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/WPF/frameworks/mvvmbasic.md b/docs/WPF/frameworks/mvvmbasic.md index 3e1f7ec8fe..f6327b7c34 100644 --- a/docs/WPF/frameworks/mvvmbasic.md +++ b/docs/WPF/frameworks/mvvmbasic.md @@ -1,6 +1,6 @@ # MVVM Basic -**Notice: MVVM Basic has been superseded by the [MVVM Toolkit](./mvvmtoolkit.md) and will be removed as an option in a future version of Template Studio.** +**Notice: MVVM Basic has been superseded by the [MVVM Toolkit](./mvvmtoolkit.md) and has been removed as an option from Template Studio.** A guide is available if you want to use the new MVVM Toolkit and are [migrating from MvvmBasic](https://docs.microsoft.com/windows/communitytoolkit/mvvm/migratingfrommvvmbasic?WT.mc_id=WDIT-MVP-5001397). diff --git a/docs/WPF/frameworks/mvvmlight.md b/docs/WPF/frameworks/mvvmlight.md index ddf6611303..82da46a923 100644 --- a/docs/WPF/frameworks/mvvmlight.md +++ b/docs/WPF/frameworks/mvvmlight.md @@ -1,6 +1,6 @@ # MVVM Light -**Notice: MVVM Light is no longer actively developed or maintained and will be removed as an option in a future version of Template Studio.** +**Notice: MVVM Light is no longer actively developed or maintained and has been removed as an option from Template Studio.** A guide is available if you want to use the new MVVM Toolkit and are [migrating from MvvmLight](https://docs.microsoft.com/windows/communitytoolkit/mvvm/migratingfrommvvmlight?WT.mc_id=WDIT-MVP-5001397). diff --git a/docs/WPF/frameworks/readme.md b/docs/WPF/frameworks/readme.md index 8ff8a450f1..b026c533da 100644 --- a/docs/WPF/frameworks/readme.md +++ b/docs/WPF/frameworks/readme.md @@ -6,7 +6,7 @@ The following design patterns are supported in WPF apps. - [Code Behind](./codebehind.md) - [Prism](./prism.md) -The following are deprecated but still available. +The following are deprecated and no longer available. - [MVVM Light](./mvvmlight.md) - [MVVM Basic](./mvvmbasic.md) diff --git a/docs/WPF/getting-started-endusers.md b/docs/WPF/getting-started-endusers.md index 2133399091..d70e3d9a02 100644 --- a/docs/WPF/getting-started-endusers.md +++ b/docs/WPF/getting-started-endusers.md @@ -30,8 +30,6 @@ The final generated code is the result of a project configuration (project type | [MVVM Toolkit](./frameworks/mvvmtoolkit.md) | The [CommunityToolkit.Mvvm package](https://aka.ms/mvvmtoolkit) is a modern, fast, and modular MVVM library. It is part of the Windows Community Toolkit. | | [Code Behind](./frameworks/codebehind.md) | Code is coupled directly with a XAML file using a .xaml.cs extension. If you developed in WinForms and feel comfortable with that style of development, this is a great option for you. | | [Prism](./frameworks/prism.md) | [Prism](https://github.com/PrismLibrary/Prism) is a framework for building loosely coupled, maintainable, and testable XAML applications. It was originally based on guidance from Microsoft's Patterns and Practices team but is now supported by an open source community. It is designed to help build rich client applications that are flexible and easy to maintain by composing different modules and following design patterns. -| [MVVM Basic](./frameworks/mvvmbasic.md) | MVVM Basic includes the minimum necessary to follow the MVVM pattern. It uses Microsoft.Extensions.Hosting library to handle dependency injection and inversion of control. It is intended for people new to MVVM or who are unable to or do not wish to use a 3rd party framework.
**Support for MVVM Basic is deprecated and will be removed in a future version.**| -| [MVVMLight](./frameworks/mvvmlight.md) | The [MVVM Light Toolkit](https://github.com/lbugnion/mvvmlight) is a popular, 3rd party toolkit by Laurent Bugnion, which has the purpose of accelerating the creation and development of MVVM applications. This toolkit puts a special emphasis on the "blend ability" of the created application (the ability to open and edit the user interface into Blend), including the creation of design-time data to enable Blend users to "see something" when they work with data controls.
As a toolkit, it provides a number of tools and features but there is no requirement to use all of them. This toolkit is popular with developers who want use parts of it to take care of the basics but still allow them to structure the code in their own way.
**Support for MVVM Light is deprecated and will be removed in a future version.**| ### Pages @@ -90,4 +88,4 @@ The final generated code is the result of a project configuration (project type - [MahApps.Metro](./mahapps-metro.md) - [Adapt the app for specific platforms](./platform-specific-recommendations.md) -- [All docs](../readme.md) \ No newline at end of file +- [All docs](../readme.md) From c95adaffeb3f109f4e972a463fb8d490c0207929 Mon Sep 17 00:00:00 2001 From: Matt Lacey Date: Fri, 26 May 2023 08:12:08 +0100 Subject: [PATCH 2/2] A few basic spelling and formatting fixes (while I was in this code) --- docs/WPF/features/multiple-views.md | 2 +- docs/WPF/features/persist-and-restore.md | 2 +- docs/WPF/features/theme-selection.md | 2 +- docs/WPF/frameworks/prism.md | 2 +- docs/WPF/mahapps-metro.md | 2 +- docs/WPF/pages/blank.md | 2 +- docs/WPF/pages/contentgrid.md | 4 ++-- docs/WPF/pages/datagrid.md | 2 +- docs/WPF/pages/listdetails.md | 2 +- docs/WPF/pages/readme.md | 2 +- docs/WPF/pages/settings.md | 2 +- docs/WPF/pages/webview.md | 2 +- docs/WPF/pages/xamlisland.md | 9 +++++---- docs/WPF/platform-specific-recommendations.md | 3 +-- docs/WPF/projectTypes/blank.md | 2 +- docs/WPF/projectTypes/menubar.md | 4 +--- docs/WPF/projectTypes/navigationpane.md | 2 +- docs/WPF/projectTypes/ribbon.md | 3 +-- docs/WPF/services/identity.md | 2 -- docs/WPF/services/readme.md | 1 - docs/WPF/testing/app-mstest.md | 2 +- docs/WPF/testing/app-nunit.md | 2 +- docs/WPF/testing/win-app-driver.md | 2 +- docs/accessibility.md | 2 +- 24 files changed, 27 insertions(+), 33 deletions(-) diff --git a/docs/WPF/features/multiple-views.md b/docs/WPF/features/multiple-views.md index 0d1906f1f9..d523ce16fd 100644 --- a/docs/WPF/features/multiple-views.md +++ b/docs/WPF/features/multiple-views.md @@ -1,3 +1,3 @@ # Multiple views -Help your users be more productive by letting them view independent parts of your app in separate windows. When you create multiple windows for an app, each window behaves independently. The taskbar shows each window separately. Users can move, resize, show, and hide app windows independently and can switch between app windows as if they were separate apps. Each window operates in its own thread. \ No newline at end of file +Help your users be more productive by letting them view independent parts of your app in separate windows. When you create multiple windows for an app, each window behaves independently. The taskbar shows each window separately. Users can move, resize, show, and hide app windows independently and can switch between app windows as if they were separate apps. Each window operates in its own thread. diff --git a/docs/WPF/features/persist-and-restore.md b/docs/WPF/features/persist-and-restore.md index 488e6321d2..ff0924fac6 100644 --- a/docs/WPF/features/persist-and-restore.md +++ b/docs/WPF/features/persist-and-restore.md @@ -1,3 +1,3 @@ # Persist and restore -Persist And Restore provides a service that makes working with application data simpler. It handles loading, saving, and serializing both files and individual pieces of data in the user's local app data folder. \ No newline at end of file +Persist And Restore provides a service that makes working with application data simpler. It handles loading, saving, and serializing both files and individual pieces of data in the user's local app data folder. diff --git a/docs/WPF/features/theme-selection.md b/docs/WPF/features/theme-selection.md index cd100c64ba..3c91c3c30e 100644 --- a/docs/WPF/features/theme-selection.md +++ b/docs/WPF/features/theme-selection.md @@ -1,3 +1,3 @@ # Theme selection -This feature allows you to change your app's theme between Light and Dark. \ No newline at end of file +This feature allows you to change your app's theme between Light and Dark. diff --git a/docs/WPF/frameworks/prism.md b/docs/WPF/frameworks/prism.md index 617cdc008a..4dd998d07e 100644 --- a/docs/WPF/frameworks/prism.md +++ b/docs/WPF/frameworks/prism.md @@ -4,4 +4,4 @@ Prism is a framework for building loosely coupled, maintainable, and testable XA For more information, visit the [Prism GitHub Page](https://github.com/PrismLibrary/Prism). -Prism also provide a number of [productivity tools](https://prismlibrary.github.io/docs/getting-started/productivity-tools.html) that include snippets, item templates, and tools for working in platforms other than UWP. \ No newline at end of file +Prism also provide a number of [productivity tools](https://prismlibrary.github.io/docs/getting-started/productivity-tools.html) that include snippets, item templates, and tools. diff --git a/docs/WPF/mahapps-metro.md b/docs/WPF/mahapps-metro.md index 075b9d2905..9def1add08 100644 --- a/docs/WPF/mahapps-metro.md +++ b/docs/WPF/mahapps-metro.md @@ -6,4 +6,4 @@ MahApps.Metro is a project that Paul Jenkins started back in 2011 as a simple wa The generated projects includes the MahApps.Metro [nuget package](https://www.nuget.org/packages/MahApps.Metro/), it also adds a new [license](https://github.com/MahApps/MahApps.Metro/blob/master/LICENSE) in the project. -For more info about how to work with MahApps.Metro and WPF see [MahApps.Metro GitHub repository](https://github.com/MahApps/MahApps.Metro). \ No newline at end of file +For more info about how to work with MahApps.Metro and WPF see [MahApps.Metro GitHub repository](https://github.com/MahApps/MahApps.Metro). diff --git a/docs/WPF/pages/blank.md b/docs/WPF/pages/blank.md index 78a1e89d87..a44daa6edc 100644 --- a/docs/WPF/pages/blank.md +++ b/docs/WPF/pages/blank.md @@ -1,3 +1,3 @@ # Blank page -This is the most basic page. A blank canvas to mold into whatever you wish. The blank page leaves pretty much everything up to you. \ No newline at end of file +This is the most basic page. A blank canvas to mold into whatever you wish. The blank page leaves pretty much everything up to you. diff --git a/docs/WPF/pages/contentgrid.md b/docs/WPF/pages/contentgrid.md index 47ae67fd21..823bc277ae 100644 --- a/docs/WPF/pages/contentgrid.md +++ b/docs/WPF/pages/contentgrid.md @@ -1,3 +1,3 @@ -# Content Grid +# Content Grid page -This page allows you to add custom content in a to a content grid based on a ListView control. Clicking on an item shows a detail page. \ No newline at end of file +This page allows you to add custom content in a to a content grid based on a ListView control. Clicking on an item shows a detail page. diff --git a/docs/WPF/pages/datagrid.md b/docs/WPF/pages/datagrid.md index 28274211c6..1f72c984e1 100644 --- a/docs/WPF/pages/datagrid.md +++ b/docs/WPF/pages/datagrid.md @@ -1,3 +1,3 @@ -# DataGrid +# DataGrid page A page displaying a DataGrid, this control presents data in a customizable table of rows and columns. diff --git a/docs/WPF/pages/listdetails.md b/docs/WPF/pages/listdetails.md index feb40a53d1..523e2ad229 100644 --- a/docs/WPF/pages/listdetails.md +++ b/docs/WPF/pages/listdetails.md @@ -1,3 +1,3 @@ # List Details page -The list-details page has a list pane and a details pane for content. When an item in the list is selected, the details pane is updated. This pattern is frequently used for email and address books. \ No newline at end of file +The list-details page has a list pane and a details pane for content. When an item in the list is selected, the details pane is updated. This pattern is frequently used for email and address books. diff --git a/docs/WPF/pages/readme.md b/docs/WPF/pages/readme.md index 1b6dc9f8a8..025503a975 100644 --- a/docs/WPF/pages/readme.md +++ b/docs/WPF/pages/readme.md @@ -8,4 +8,4 @@ The following pages are supported in WPF apps. - [List/Details](./listdetails.md) - [Data Grid](./datagrid.md) - [Content Grid](./contentgrid.md) -- [XAML Island](./xamlisland.md) \ No newline at end of file +- [XAML Island](./xamlisland.md) diff --git a/docs/WPF/pages/settings.md b/docs/WPF/pages/settings.md index cbe6fcc5c1..b4397d1451 100644 --- a/docs/WPF/pages/settings.md +++ b/docs/WPF/pages/settings.md @@ -1,3 +1,3 @@ # Settings page -The settings page is the page where we recommend putting the configuration settings for your application such as setting a dark / light theme. This could also include any licenses, version number and your privacy terms. \ No newline at end of file +The settings page is the page where we recommend putting the configuration settings for your application such as setting a dark / light theme. This could also include any licenses, version number and your privacy terms. diff --git a/docs/WPF/pages/webview.md b/docs/WPF/pages/webview.md index 8d70cf363a..78f2ccbcf6 100644 --- a/docs/WPF/pages/webview.md +++ b/docs/WPF/pages/webview.md @@ -4,4 +4,4 @@ The web view page embeds a view into your app that renders web content using the [Is the Web view control right for you?](https://docs.microsoft.com/windows/communitytoolkit/controls/wpf-winforms/webview) -View `Microsoft.Toolkit.Wpf.UI.Controls.WebView` license [here](https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/main/License.md). \ No newline at end of file +View `Microsoft.Toolkit.Wpf.UI.Controls.WebView` license [here](https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/main/License.md). diff --git a/docs/WPF/pages/xamlisland.md b/docs/WPF/pages/xamlisland.md index 0da9d1ada5..5701e1f2c9 100644 --- a/docs/WPF/pages/xamlisland.md +++ b/docs/WPF/pages/xamlisland.md @@ -1,9 +1,10 @@ +# XAML Island page + This page includes a CustomUserControl using a **WindowsXamlHost** control from the **Windows Community Toolkit** to host a UWP control. This page adds two projects to the solution: - - A **UWP library** that will hosts the UWP Control that will be rendered in the WPF app. - - - A **UWP app project** that is necessary to host UWP controls with XAML Island and will never be displayed. +- A **UWP library** that will hosts the UWP Control that will be rendered in the WPF app. +- A **UWP app project** that is necessary to host UWP controls with XAML Island and will never be displayed. -You can read more about [hosting a custom UWP control in a WPF app using XAML Islands](https://docs.microsoft.com/windows/apps/desktop/modernize/host-custom-control-with-xaml-islands). \ No newline at end of file +You can read more about [hosting a custom UWP control in a WPF app using XAML Islands](https://docs.microsoft.com/windows/apps/desktop/modernize/host-custom-control-with-xaml-islands). diff --git a/docs/WPF/platform-specific-recommendations.md b/docs/WPF/platform-specific-recommendations.md index ac765a346b..328aa903e4 100644 --- a/docs/WPF/platform-specific-recommendations.md +++ b/docs/WPF/platform-specific-recommendations.md @@ -30,5 +30,4 @@ You will need to install [Visual Studio 2019](https://visualstudio.microsoft.com ### Learning -- [Channel 9 serie of videos for Desktop and .NET Core](https://channel9.msdn.com/Series/Desktop-and-NET-Core-101) - +- [Channel 9 series of videos for Desktop and .NET Core](https://channel9.msdn.com/Series/Desktop-and-NET-Core-101) diff --git a/docs/WPF/projectTypes/blank.md b/docs/WPF/projectTypes/blank.md index 4105288fbb..6f003c4d96 100644 --- a/docs/WPF/projectTypes/blank.md +++ b/docs/WPF/projectTypes/blank.md @@ -2,4 +2,4 @@ This basic WPF project is a blank canvas upon which to build your app. It provides no scaffolding and leaves everything up to you. -Blank projects use [MahApps.Metro](../mahapps-metro.md) to add modern styles to the user interface. \ No newline at end of file +Blank projects use [MahApps.Metro](../mahapps-metro.md) to add modern styles to the user interface. diff --git a/docs/WPF/projectTypes/menubar.md b/docs/WPF/projectTypes/menubar.md index fefb86a0eb..d1c0004ff5 100644 --- a/docs/WPF/projectTypes/menubar.md +++ b/docs/WPF/projectTypes/menubar.md @@ -107,6 +107,4 @@ The following code snippets show how to add a new menu "Help" with a menu entry ``` - - -Menu bar projects use [MahApps.Metro](../mahapps-metro.md) to add modern styles to the user interface. \ No newline at end of file +Menu bar projects use [MahApps.Metro](../mahapps-metro.md) to add modern styles to the user interface. diff --git a/docs/WPF/projectTypes/navigationpane.md b/docs/WPF/projectTypes/navigationpane.md index 00dd465266..a58594c071 100644 --- a/docs/WPF/projectTypes/navigationpane.md +++ b/docs/WPF/projectTypes/navigationpane.md @@ -37,4 +37,4 @@ public ObservableCollection MenuItems { get; } = new Observab The text for a shell HamburgerMenuGlyphItem comes from the localized string resources. For each page item, i.e. `MainPage` Strings/Resources.resx has a value `ShellMainPage`. Change the value in the resources file to alter what is displayed in the HamburgerMenu. -Navigation pane projects use [MahApps.Metro](../mahapps-metro.md) to add modern styles to the user interface. \ No newline at end of file +Navigation pane projects use [MahApps.Metro](../mahapps-metro.md) to add modern styles to the user interface. diff --git a/docs/WPF/projectTypes/ribbon.md b/docs/WPF/projectTypes/ribbon.md index e58d885067..1be64dc6ce 100644 --- a/docs/WPF/projectTypes/ribbon.md +++ b/docs/WPF/projectTypes/ribbon.md @@ -1,6 +1,6 @@ # Ribbon project type -Adds a ribbon control from `Fluent.Ribbon` nuget package which consists of several tabs, grouped by functionality to represent the menu actions of an application. For more info on `Fluent.Ribbon` see https://fluentribbon.github.io/. +Adds a ribbon control from `Fluent.Ribbon` nuget package which consists of several tabs, grouped by functionality to represent the menu actions of an application. For more info on `Fluent.Ribbon` see . The Ribbon control is placed on the `ShellWindow` and the DataContext of this Ribbon control is the `ShellViewModel`, but most of times, the ribbon tabs should be configured from active pages, to solve this Ribbon projects has infrastructure to add Ribbon tabs from pages and also add Groups to the main tab in the Ribbon control. @@ -85,7 +85,6 @@ public ListDetailsPage(ListDetailsViewModel viewModel) ![Screenshot of app with ribbon tabs from a ListDetails page](../resources/modifications/RibbonTabsFromPage.png) - ## Add Ribbon Home Tab groups from a page We should add a `RibbonPageConfiguration` in `ListDetailsPage.xaml`, see comments in line. diff --git a/docs/WPF/services/identity.md b/docs/WPF/services/identity.md index 566176ddb6..5b0c2477a4 100644 --- a/docs/WPF/services/identity.md +++ b/docs/WPF/services/identity.md @@ -27,7 +27,6 @@ Once the user has been authenticated, the app will call the Microsoft Graph to r You can choose between different ways to initialize the IdentityService, restricting hereby the allowed account types. - 1. InitializeWithAadAndPersonalMsAccounts() **(Default)** - allows Azure Active Directory Accounts and Personal Microsoft Accounts 2. InitializeWithPersonalMsAccounts() - allows Personal Microsoft Accounts 3. InitializeWithAadMultipleOrgs() - allows Azure Active Directory Accounts from any organization @@ -74,7 +73,6 @@ In Forced Login apps unauthorized users cannot log into the app, in Optional Log This class is responsible for obtaining the AccessToken from the cache or via Windows Integrated or Interactive Auth. The class uses the MSAL NuGet library to connect with Azure Active Directory. The Identity service is initialized with a ClientID configured in the appsettings.json. If you haven't done already create a ClientID following the steps on https://docs.microsoft.com/azure/active-directory/develop/quickstart-register-app and update the appsettings.json IdentityClientId. - ### MicrosoftGraphService (Core project) This class calls the Microsoft Graph to obtain the user information and the user photo. It can be extended adding methods that get info from other Microsoft Graph services. diff --git a/docs/WPF/services/readme.md b/docs/WPF/services/readme.md index b81eb4de3c..e4fc6cbe9f 100644 --- a/docs/WPF/services/readme.md +++ b/docs/WPF/services/readme.md @@ -6,4 +6,3 @@ The following services are supported in WPF apps. - [Forced Login](./forced-login.md) - [Optional Login](./optional-login.md) - diff --git a/docs/WPF/testing/app-mstest.md b/docs/WPF/testing/app-mstest.md index b513dd2034..c89a9150c9 100644 --- a/docs/WPF/testing/app-mstest.md +++ b/docs/WPF/testing/app-mstest.md @@ -4,4 +4,4 @@ MSTest is Microsoft's suite of unit testing tools. The unit testing framework is Including this feature adds a new project to the solution that is set up for hosting Unit tests of the code in the main app. -[Learn more about using the MSTest framework in unit tests.](https://docs.microsoft.com/visualstudio/test/using-microsoft-visualstudio-testtools-unittesting-members-in-unit-tests?view=vs-2019) \ No newline at end of file +[Learn more about using the MSTest framework in unit tests.](https://docs.microsoft.com/visualstudio/test/using-microsoft-visualstudio-testtools-unittesting-members-in-unit-tests?view=vs-2019) diff --git a/docs/WPF/testing/app-nunit.md b/docs/WPF/testing/app-nunit.md index a991b5a459..894ca39fd3 100644 --- a/docs/WPF/testing/app-nunit.md +++ b/docs/WPF/testing/app-nunit.md @@ -4,4 +4,4 @@ NUnit is a unit-testing framework for all .Net languages. Initially ported from Including this feature adds a new project to the solution that is set up for hosting Unit tests of the code in the Core library. -[Learn more about using NUnit.](https://github.com/nunit/docs/wiki/NUnit-Documentation) \ No newline at end of file +[Learn more about using NUnit.](https://github.com/nunit/docs/wiki/NUnit-Documentation) diff --git a/docs/WPF/testing/win-app-driver.md b/docs/WPF/testing/win-app-driver.md index 479dfdca20..d1cc824ef4 100644 --- a/docs/WPF/testing/win-app-driver.md +++ b/docs/WPF/testing/win-app-driver.md @@ -4,4 +4,4 @@ Windows Application Driver is a service to support Selenium-like UI Test Automat Including this feature adds a new project to the solution that is set up for hosting UI tests of your WPF app that are powered by WinAppDriver. -[Learn more about the Windows Application Driver and creating tests with it.](https://github.com/Microsoft/WinAppDriver) \ No newline at end of file +[Learn more about the Windows Application Driver and creating tests with it.](https://github.com/Microsoft/WinAppDriver) diff --git a/docs/accessibility.md b/docs/accessibility.md index c5ca8bdee9..a39c74ef68 100644 --- a/docs/accessibility.md +++ b/docs/accessibility.md @@ -3,7 +3,7 @@ Here we provide a checklist you can use to ensure that your pull request meets the accessibility requirements. For more info, read: -- [Accessibility overview](https://docs.microsoft.com/windows/apps/design/accessibility/accessibility-overview) +- [Accessibility overview](https://docs.microsoft.com/windows/apps/design/accessibility/accessibility-overview) - [Accessibility checklist](https://docs.microsoft.com/windows/apps/design/accessibility/accessibility-checklist) - [WPF Accessibility best practices](https://docs.microsoft.com/dotnet/framework/ui-automation/accessibility-best-practices)