XAML Behaviors is an easy-to-use means of adding common and reusable interactivity to your Windows UWP applications with minimal code. It is available for both native and managed applications. Use of XAML Behaviors is governed by the MIT License
Platform | Status |
---|---|
Managed | |
Native |
- NuGet package for Native and Managed
- Source Code
For an example of using Behaviors in an application, here is a snippet of XAML:
<Button xmlns:Core="using:Microsoft.Xaml.Interactions.Core" xmlns:Interactivity="using:Microsoft.Xaml.Interactivity">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior EventName="Click">
<Core:ChangePropertyAction PropertyName="Background">
<Core:ChangePropertyAction.Value>
<SolidColorBrush Color="Red"/>
</Core:ChangePropertyAction.Value>
</Core:ChangePropertyAction>
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</Button>
The documentation explains how to install Visual Studio, add the XAML Behaviors NuGet package to your project, and get started using the API.
- Go to 'View' -> 'Team Explorer' -> 'Local Git Repositories' -> 'Clone'
- Add the XAML Behaviors repository URL (https://github.com/Microsoft/XamlBehaviors) and hit 'Clone'
- Open the "BehaviorsSDKManaged.sln" solution in Visual Studio
- Change Build Configuration to Release
- Build [Ctrl + B]
- Run
msbuild /t:Pack src/BehaviorsSDKManaged/Microsoft.Xaml.Interactions.Design/Microsoft.Xaml.Interactions.Design.csproj
- (Optional) Add
/p:TimestampPackage=true
to include the timestamp in the NuGet package version
- (Optional) Add
For WinUI:
- Run
msbuild /t:Pack src\BehaviorsSDKManaged\Microsoft.Xaml.Interactivity.WinUI\Microsoft.Xaml.Interactivity.WinUI.csproj
- (Optional) Add
/p:TimestampPackage=true
to include the timestamp in the NuGet package version
- (Optional) Add
- Open the "BehaviorsSDKNative.sln" solution in Visual Studio
- Batch Build for x86, x64, and ARM in Release
- Run
msbuild /t:Pack src/BehaviorsSDKNative/Microsoft.Xaml.Interactions.Design/Microsoft.Xaml.Interactions.Design.csproj
- (Optional) Add
/p:TimestampPackage=true
to include the timestamp in the NuGet package version
- (Optional) Add