什麼是XAML Behaviors(行為)
XAML Behaviors 提供了一種簡單易用的方法,能以最少的程式碼為 Windows UWP/WPF 應用程式新增常用和可重複使用的互動性。
可以透過一個最簡單的示例來感受一下
首先我們引用Microsoft.Xaml.Behaviors.Wpf包,然後新增如下的程式碼。
在下面的程式碼中,我們放置了一個按鈕,然後為按鈕新增了XAML Behavior,當按鈕觸發Click事件時,呼叫ChangPropertyAction去改變控制元件的背景顏色
1 <Window x:Class="XamlBehaviorsDemo.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:XamlBehaviorsDemo" 7 xmlns:i="http://schemas.microsoft.com/xaml/behaviors" 8 mc:Ignorable="d" 9 Title="MainWindow" Height="450" Width="800"> 10 <Grid> 11 <Button Width="88" Height="28" Content="Click me"> 12 <i:Interaction.Triggers> 13 <i:EventTrigger EventName="Click"> 14 <i:ChangePropertyAction PropertyName="Background"> 15 <i:ChangePropertyAction.Value> 16 <SolidColorBrush Color="Red"/> 17 </i:ChangePropertyAction.Value> 18 </i:ChangePropertyAction> 19 </i:EventTrigger> 20 </i:Interaction.Triggers> 21 </Button> 22 </Grid> 23 </Window>
在.Net Framework時期,XAML Behaviors包含在Blend SDK中,並且需要手動引用 System.Windows.Interactivity.dll。
我前面的文章中介紹過如何安裝Blend SDK
https://www.cnblogs.com/zhaotianff/p/11714279.html
隨著.NET Core的出現,System.Windows.Interactivity.dll中的功能開始放到開源社群,並且改名為Microsoft-XAML-Behaviors。透過nuget包安裝。
詳情可以參考下面的文章:
https://devblogs.microsoft.com/dotnet/open-sourcing-xaml-behaviors-for-wpf/
以前使用的XAML名稱空間是
1 http://schemas.microsoft.com/expression/2010/interactivity
開源以後使用的XAML名稱空間是
1 http://schemas.microsoft.com/xaml/behaviors
專案地址:
https://github.com/microsoft/XamlBehaviorsWpf