[WPF] 使用新的 package 取代 System.Windows.Interactivity

  • 169
  • 0

這篇記錄一下在 WPF 專案裡常用的 System.Windows.Interactivity 改用新的 package 替代的一些注意事項。

在 .NET Framework 的時代,寫 WPF 常常會引用 Blend SDK 裡的 System.Windows.Interactivity,到了現在的 .NET (Core) 時代,原有的組件無法加入到專案中。所幸在 nuget 中有提供一個跨框架的新組件可以使用 – Microsoft.Xaml.Behaviors.Wpf。

安裝

安裝這個 package 很簡單,在 nuget 搜尋框輸入 Microsoft.Xaml.Behaviors.Wpf,結果集裡面看到的第一個就是了:

這個 package 支援 .NET Framework 4.6.2 與 .NET 6 以上版本,在改變專案基本框架的時候可以無痛轉換過去。

使用的注意事項

如果你曾經使用過去的 System.Windows.Interactivity,通常可能會在 xaml 命名空間宣告加上以下的一個或兩個: (1) http://schemas.microsoft.com/expression/2010/interactivity (2) http://schemas.microsoft.com/expression/2010/interactions 。當你改換了新的 Microsoft.Xaml.Behaviors.Wpf package 後,兩個會合併為同一個 :http://schemas.microsoft.com/xaml/behaviors

在 C# file 裡的命名空間引用則使用新的 Microsoft.Xaml.Behaviors 取代以下兩個:(1) Microsoft.Xaml.Interactivity (2) Microsoft.Xaml.Interactions

就這麼簡單。