XAML

XAML

Extensible Application Markup Language (XAML) is a declarative XML-based language used for initializing structured values and objects in various frameworks.
Rowena  Cox

Rowena Cox

1654110720

Create Your .NET. MAUI UI in Code with C# Markup!

C# Markup is a set of fluent helper methods and classes designed to simplify the process of building declarative .NET MAUI user interfaces in code. The C# Markup extensions are available through the .NET MAUI Community Toolkit and in this video we are going to see how to recreate the default template page in C# code!

🔗 Links
Sample App Repo: https://github.com/jfversluis/MauiCSharpMarkupExample

.NET MAUI C# Markup Docs: https://docs.microsoft.com/dotnet/communitytoolkit/maui/markup/markup
.NET MAUI C# Markup Repo: https://github.com/CommunityToolkit/Maui.Markup
GitTrends Repo: https://github.com/brminnick/GitTrends

⏱ Timestamps
00:00 - C# Markup for .NET MAUI
00:17 - What is C# Markup?
01:30 - Our Sample App for Today
03:02 - Confession Time
03:50 - MainPage in Regular C# Code
04:18 - Install CommunityToolkit.Maui.Markup
05:42 - Recreate MainPage with C# Markup
17:50 - Real-World C# Markup App: GitTrends

#maui #dotnetmaui #csharp #xaml #dotnet6 

  Create Your .NET. MAUI UI in Code with C# Markup!
Rowena  Cox

Rowena Cox

1654067340

Introducing .NET MAUI Community Toolkit

The .NET MAUI Community Toolkit is a community-created library that contains .NET MAUI Extensions, Converters, Advanced UI/UX Controls, and Behaviors to help make your life as a .NET MAUI developer easier! In this video we will learn about the history of the .NET MAUI Community Toolkit and how to get started yourself!

🔗 Links
.NET MAUI Community Toolkit Docs: https://docs.microsoft.com/dotnet/communitytoolkit/maui
.NET MAUI Community Toolkit Repo: https://github.com/CommunityToolkit/Maui

⏱ Timestamps
00:00 - Introducing .NET MAUI Community Toolkit
00:19 - .NET MAUI Community Toolkit History
04:10 - The Community in Community Toolkit
05:27 - .NET MAUI Community Toolkit Repo
06:51 - The Sample App
08:47 - Write Your UI in Code with C# Markup Extensions
10:26 - Get Started with .NET MAUI Community Toolkit Yourself!
13:23 - Of Course we Have Docs!

 #maui #dotnet6 #dotnetmaui #xaml 

Introducing .NET MAUI Community Toolkit
Cody  Osinski

Cody Osinski

1635638400

What Is .NET (MAUI) and How to Use It?

What if we are able to create native Mobile apps, Desktop apps using .NET C# and XAML from a single code base?. !!! How cool it will be right ?. Yes, now we can create native Android, iOS, macOS, and Windows applications from a single code base. This is possible using .NET’s new feature called Multi-platform App UI (MAUI). In this article, we will discuss more MAUI, by the end of this article you will get some basic ideas about MAUI and how to get started.

#dotnet #maui #aspdotnet #xamarin #xaml #csharp 

What Is .NET (MAUI) and How to Use It?
Rowena  Cox

Rowena Cox

1629946560

Dark Mode in Your Xamarin.Forms with XAML and C#

With Dark Mode now supported in every major platform, it's time to update your Xamarin.Forms app to support it as well. In this video we will see how to add dark theme support both in XAML and C# code. The values will update during runtime and you have an event to hook into for other things you might want to deal with.

⏱ Timestamps
0:00 Intro (poor Batman quote impression)
0:28 Sample App Explanation
0:44 iOS Simulator Pro-Tip
1:45 Implement Light/Dark w/ AppThemeBinding XAML
3:05 Dark/Light Difference TextColor
3:38 Page Background Pro-Tip
4:25 AppThemeBinding Different Syntax
5:20 RequestedThemeChanged Event
7:20 Dark/Light Difference Images
9:10 AppThemeBinding in C# Code
10:30 Android Demo
11:20 ConfigChanges.UiMode Android Pro-Tip
12:20 UWP Demo
13:16 RequestedTheme UWP Pro-Tip
13:57 Outro, subscribe!

🔗 Links
Sample code repo: https://github.com/jfversluis/XFDarkModeSample
 

#csharp #xamarin #xaml 

Dark Mode in Your Xamarin.Forms with XAML and C#
Rowena  Cox

Rowena Cox

1629935520

Xamarin.forms' Built-in OnPlatform Mechanism

Sometimes there is no way around it: you will need a different value for a different platform. With Xamarin.Forms' built-in OnPlatform mechanism that is something you can easily do in XAML, but also in code.

⏱ Timestamps
0:00 Intro
0:31 Sample App Explanation
1:27 Different Values in C#
3:05 Very Important !!!
3:18 OnPlatform in XAML
6:26 OnPlatform in shorter XAML syntax
9:04 Outro

#xaml #xamarin 

Xamarin.forms' Built-in OnPlatform Mechanism
Aliyah  Murray

Aliyah Murray

1627714860

Qickly Tips: Code Generation from XAML in Visual Studio 2019! (WPF, UWP, & Xamarin.Forms)

OH MY GOODNESS!!! Visual Studio 2019 version 16.9 introduced one of the most amazing features ever... Auto code generation directly from your XAML! Turn your Bindings and Commands directly into source code in your code behind or view model! Today I will show you this awesome new feature!

If you are using Xamarin.Forms you can set the x:DataType or the BindingContext. If you are using WPF/UWP set the DataContext or d:DataContext. Read more: https://montemagno.com/code-generation-from-xaml-in-visual-studio/

This feature is currently only on Visual Studio 2019 v16.9 on Windows and not Visual Studio for Mac yet.

Time Codes:
00:00 - Intro
02:05 - Setup & Auto Generate Bindings
05:00 - Generate Commands
05:50 - Cleaner Generation with BaseViewModel
07:00 - Wrap-up

 

#visual-studio #xaml 

Qickly Tips: Code Generation from XAML in Visual Studio 2019! (WPF, UWP, & Xamarin.Forms)

What's the correlation between .NET 5, WinUI & MAUI (Xamarin.Forms)

Over the last couple of years there have been a couple of key developments in the .NET world. However, despite a lot of rhetoric from Microsoft about building a better developer ecosystem, the reality is that the current landscape for building apps using .NET is a mess and no amount of sugar coating is going to fix that. In this post I’m going to try to position a number of technologies in the hope that I can share where I think things are going.

UWP

If you’re thinking that I missed UWP out of the list of technologies in the title, you’d be 100% right. Microsoft hasn’t confirmed this (and in much the same way that Silverlight was never discontinued, I doubt anyone will say this) but UWP as it stands today is effectively end-of-life. I wouldn’t be expecting any major updates to UWP any time soon. I doubt it will get NetStandard 2.1 or .NET 5 support.

Let’s keep going and we’ll touch back on this point in order to discuss what the replacement is.

#development #winui #xaml #dotnet #dotnet 5 #dotnet maui

What's the correlation between .NET 5, WinUI & MAUI (Xamarin.Forms)
Abdullah  Kozey

Abdullah Kozey

1619438640

Rider 2021.1 Reaches Beta!

Today we released Rider 2021.1 Beta . This means that we are on the homestretch of the major release. This build is packed with all the features that will soon be available with the official 2021.1 release. Let’s take a look at what’s coming.

#net-tools #releases #rider #c-9 #unity #xaml

Rider 2021.1 Reaches Beta!
Cayla  Erdman

Cayla Erdman

1602355560

New Features in Visual Studio 2019 v16.8 Preview 3.1

In conjunction with Ignite 2020, we are releasing Visual Studio 2019 v16.8 Preview 3.1. Our events always bring an excitement to our team as we launch new functionality to our product. In this release, we are giving you access to improvements in Git Integration, C++20 conformance, .NET Productivity, Web Tools, and XAML . We can’t wait to hear how these features impact your work for the better. Equally, we love to hear how we can strive for constant improvement through our Developer Community.

While taking in one of our free Ignite 2020 sessions, why not download our latest Preview release and give some of these new features a try?

Install Visual Studio 2019 v16.8 Preview 3.1

GitHub Codespaces for Visual Studio

GitHub Codespaces for Visual Studio is now available as a limited beta in Visual Studio 2019 Preview 3.1. This gives you an instant cloud development environment that lets you code from anywhere. You can use the features you love from Visual Studio 2019 in a codespace to develop, test, and deploy modern apps including ASP.NET Core web apps, .NET Core, CMake, and C++ console / library apps. GitHub Codespaces for Visual Studio is available to a subset of GitHub users that sign-up while in limited beta. Over time, more users will get access based on availability and sign up date.

Sign-up to try GitHub Codespaces for Visual Studio

Create GitHub Codespaces from Visual Studio 2019

Create GitHub Codespaces from Visual Studio 2019

On a local machine, Visual Studio competes with other apps for resources with limits in CPU and disk space. With Codespaces, many of the CPU intensive operations like loading the solution, building, and debugging are offloaded to the cloud. This allows you to work on enterprise scale application without impacting your local machine’s resources. This also allowed us to dramatically reduce what we install locally when you’re building apps in a Codespace. Installing Visual Studio to connect to GitHub Codespaces takes minutes.

#visual studio #.net #announcement #debugging and diagnostics #productivity #visual studio 2019 #xamarin #xaml

New Features in Visual Studio 2019 v16.8 Preview 3.1
React Tutorial

React Tutorial

1600764177

Build Xamarin.iOS Apps using iOS 14 and Xcode 12

Support for iOS 14 and Xcode 12 to accompany Apple’s Xcode 12 GM release was just announced! Now, build your Xamarin.iOS (and Xamarin.Forms for iOS) apps with Xcode 12 GM and submit your iOS 14, tvOS 14 or watchOS 7 apps to the Apple App Store. At this time, Apple has held back the latest updates for macOS Big Sur that you may have been using during their early Xcode 12 previews. We will highlight those updates at a future time when they ship.

What’s New With iOS 14 and Xcode 12?

iOS 14 provides the next generation of existing features like three-column layouts and new picker styles, and introduces some exciting new features such as WidgetKit support, ScreenTime, NearbyInteraction, and more!

Color Picker Customization with UIColorPickerViewController

Apps can set the initial selected color in the picker and have the option to hide the alpha slider. The controller can respond when users dismiss the color picker or change selected color.

Image UIColorWell

<StackLayout
  VerticalOptions="Center"
  HorizontalOptions="Center">

  <Path
    x:Name="Xamagon"
    Fill="Black"
    HorizontalOptions="Center"
    Margin="0,0,0,20"
    Data="M29.4311121,0 C26.6763107,0.0058575 23.9796704,1.5737917 22.5928855,3.965729 L1.0238921,41.5342563 C-0.3412974,43.9325978 -0.3412974,47.067402 1.0238921,49.465744 L22.5928855,87.034271 C23.9798162,89.426228 26.6763107,90.994582 29.4311121,91 L72.568946,91 C75.323748,90.994143 78.020241,89.426228 79.407172,87.034271 L100.976161,49.465744 C102.34135,47.067402 102.341209,43.9325978 100.976161,41.5342563 L79.407172,3.965729 C78.020241,1.5737917 75.323748,0.0054182 72.568946,0 L29.4311121,0 Z M29.8225901,21.9780432 C29.8818491,21.9721857 29.9440029,21.9721857 30.0034464,21.9780432 L37.444074,21.9780432 C37.773437,21.9848769 38.0929203,22.1757336 38.2573978,22.4623994 L50.8795281,45.015639 C50.9430615,45.127146 50.9839987,45.251384 50.9995323,45.378901 C51.0150756,45.251354 51.055974,45.127107 51.1195365,45.015639 L63.711456,22.4623994 C63.881153,22.167045 64.215602,21.975134 64.554853,21.9780432 L71.995483,21.9780432 C72.654359,21.9839007 73.147775,22.8160066 72.839019,23.4008677 L60.518299,45.500005 L72.839019,67.568869 C73.176999,68.157088 72.671442,69.027775 71.995483,69.0219864 L64.554853,69.0219864 C64.209673,69.019028 63.873247,68.81384 63.711456,68.507327 L51.1195365,45.954088 C51.0560031,45.84258 51.0150659,45.718333 50.9995323,45.590825 C50.983989,45.718363 50.9430906,45.842629 50.8795281,45.954088 L38.2573978,68.507327 C38.1004103,68.805171 37.7792269,69.008397 37.444074,69.0219864 L30.0034464,69.0219864 C29.3274867,69.027814 28.8220664,68.157088 29.1600463,67.568869 L41.4807624,45.500005 L29.1600463,23.4008677 C28.8647037,22.86725 29.2250368,22.0919422 29.8225901,21.9780432 L29.8225901,21.9780432 Z" />

  <Label
    Text="UIColorWell:" />

  <ios:UIColorWell
    View.HorizontalOptions="Center"
    View.VerticalOptions="Start"
    ValueChanged="OnColorChanged" />

</StackLayout>

As you may see, this is XAML using a UIColorWell directly in a Xamarin.Forms page (see Native Views for more on that). In the ValueChanged handler, reference both the native iOS control as well as the new Xamarin.Forms Path view to set the color. If your code is cross-platform, use compiler directives to keep platform code separated. (The XAML compiler automatically handles this for you).

private void OnColorChanged(object sender, EventArgs e)
{
#if __IOS__
    var colorWell = (UIColorWell)sender; 
    nfloat r, g, b, a;
    colorWell.SelectedColor.GetRGBA(out r, out g, out b, out a);
    Xamagon.Fill = new SolidColorBrush(
        new Color((double)r, (double)g, (double)b, (double)a));
#endif
}

Xamarin.Forms does not ship a cross-platform color picker in the box. So this is a powerful way to use the latest native controls today. One great benefit of using XAML here is that XAML Hot Reload works too!

Psssst! For areas to make a contribution, the Xamarin Community Toolkit is a perfect place to PR a cross-platform color picker.

New Picker Styles for Date and Time

With iOS 14, Apple introduces new ways to select date and time values. Now, users can choose values from a calendar view or using a numeric keypad.

Button Menus

Popover menus from buttons offer a new lightweight alternative to action sheets, context menus, and don’t dim the screen on appearance.

Three-column layouts with UISplitViewController

Split view interfaces support triple-column layouts with primary, secondary, and supplementary columns.

Embedded WidgetKit Support

This release of the SDK adds support for embedding WidgetKit extensions written in Swift into your main Xamarin.iOS application. This enables you to build apps with Widget support as soon as possible.

You create a “hybrid” application with a SwiftUI extension embedded in a Xamarin.iOS application.

Leveraging WidgetKit support will require a few manual changes to your project file. Add a section like this to your project:

<AdditionalAppExtensions Include="$(MSBuildProjectDirectory)/../../native">
     <Name>NativeTodayExtension</Name>
     <BuildOutput Condition="'$(Platform)' == 'iPhone'">build/Debug-iphoneos</BuildOutput>
     <BuildOutput Condition="'$(Platform)' == 'iPhoneSimulator'">build/Debug-iphonesimulator</BuildOutput>
</AdditionalAppExtensions>

Change the path included on the first link to point to the build directory of your Swift UI extension.

It may be helpful to enable a project relative output location in your Xcode project (File → Project Settings) to have a simpler path to locate:

This sample application uses JSON serialization to transfer data from a Xamarin.iOS app to a sample Widget for display. Those interested in WidgetKit are invited to provide their feedback in the Github issue.

New and Updated Framework Highlights

  • CoreLocation and MapKit are updated to support location privacy and approximate location.
  • ClockKit now supports creating complications for Apple Watch.
  • ScreenTime provides tools to track and manage device usage.
  • Accessibility adds new features to improve usability for everyone.
  • NearbyInteraction enables devices to interact using relative spatial awareness.

Get Started Now!

Get a detailed walkthrough of how to set up your development environment by reviewing the Getting Started Guide for iOS 14. In short, you will learn how to download and install:

And that is it! Xcode 12 is now your default installation. It will be used by Visual Studio to build your iOS projects. You can review this setting from Preferences > Projects > SDK Locations > Apple. Begin building your apps against Xcode 12 and utilize iOS 14 APIs within your Xamarin apps. Detailed instructions can be found in the Xamarin Documentation Portal. Also, check the Xamarin.iOS 14 release notes for the latest information on changes in the GM release of Xcode 12.

#ios #xamarin #xaml #xcode

Build Xamarin.iOS Apps using iOS 14 and Xcode 12
Cayla  Erdman

Cayla Erdman

1599892629

XAML: How to Implement INotifyPropertyChanged

The INotifyPropertyChanged changed interface is at the heart of XAML apps and has been a part of the .NET ecosystem since the early days of Windows Forms. The PropertyChanged event notifies the UI that a property in the binding source (usually the ViewModel) has changed. It allows the UI to update accordingly. The interface exists for WPF, Silverlight, UWP, Uno Platform, and Xamarin.Forms (that will become .NET MAUI). This article will give examples for UWP, but it is possible to write code from the ViewModel down that is compatible with all these platforms.

Before I go any further, I will mention the MVVM pattern but point out that this article does not expect you to follow this pattern. Implementing INotifyPropertyChanged is a fundamental part of MVVM, but MVVM is not required to achieve data binding with INotifyPropertyChanged. If you would like to follow MVVM, I recommend using one of these frameworks: MvvmCross, Prism, or ReactiveUI.

#c# #software #xaml #silverlight #uno platform #uwp #wpf #xamarin #xamarin.forms #xaml

XAML: How to Implement INotifyPropertyChanged
Lenora  Hauck

Lenora Hauck

1598530740

Visual Studio 2019 v16.8 Preview 2 Releases New Features Today!

New features in Git Integration, .NET Productivity, Web Tools, and Xamarin are releasing in Visual Studio 2019 v16.8 Preview 2. Each of our teams continue to work hard to delight our developers. For this reason, Preview releases are some of the most exciting for us as we wait to hear how our newest features impact your work.

From my perspective, one of the greatest aspects of shipping releases is how engaged you are in the improvement of our products. If you have any suggestions or run into any challenges using these features, please visit our Developer Community to let us hear your perspective. If you want greater details of what’s in this release, please see our release notes.

Install Visual Studio 2019

New Features in this Release

Git Integration

Some repositories have more than one solution in them. Now when you open such a repository, the Solution Explorer will display a list of solutions for you to select. By default, folder view is always present at the top. This opens the root folder of the repository. Double clicking on a solution in this list will take you to that solution. Also, you can use the Switch Views button in the Solution Explorer toolbar to take you back to the list of views to easily move between solutions in your repository.

List of Views in Solutions Explorer

List of Views in Solutions Explorer in Visual Studio 2019 v16.8 Preview 2

In the case you have only one solution in your repository, Visual Studio will load solution view by default. On the other hand, if you have no solutions in your repository, Visual Studio will open folder view by default. You can toggle this feature on/off using its own Preview Feature checkbox in Tools | Options.

#visual studio #.net #announcement #github #visual studio 2019 #xaml

Visual Studio 2019 v16.8 Preview 2 Releases New Features Today!

Публикация приложения в Windows 8 store

После успешной публикации приложения, в разработке которого я принимал непосредственное участие, хотел поделиться приобретенным опытом, может кому-то будет полезно.

Screenshot.107504.1000001Приложение - клиент для онлайн сервиса домашней бухгалтерии homemoney.ua Первая версия приложения умеет вносить расходы за сегодня, посматривать остатки на счетах и количество потраченных денег за месяц по конкретным категориям.

#xaml #windows 8 #win rt #windows store #homemoney #c#

Публикация приложения в Windows 8 store

HomeMoney for Windows 8 minor release

Состоялся минорный релиз HomeMoney - приложение для учета расходов, интегрированное с популярным онлайн сервисом домашней бухгалтерии homemoney.ua - онлайн сервисом для оптимизации расходов, планирования затрат и ведения бюджета.

#xaml #windows 8 #c#

HomeMoney for Windows 8 minor release
Eve  Klocko

Eve Klocko

1597844580

WPF Binding examples

I have found very nice WPF XAML Data Binding Cheat Sheet, so I’ll just leave it here for further use.

#xaml #c# #wpf #binding #14

WPF Binding examples