WPF學習日記9

shengshengwang發表於2020-12-18

1.System.Windows.Media.LinearGradientBrush
解析:使用線性漸變繪製區域。

2.System.Windows.Media.GradientBrush
解析:一個抽象類,描述由漸變停止點組成的漸變。從System.Windows.Media.GradientBrush繼承的類描述瞭解釋漸變停止點的不同方式。

3.System.Windows.Visibility
解析:
[1]Visible=0:顯示元素
[2]Hidden=1:不顯示元素,但是在佈局中為元素保留空間
[3]Collapsed=2:不顯示元素,並且不在佈局中為它保留空間

4.dynamic
解析:表示將在執行時解析其操作的物件。

5.Resources.resx
解析:可以將字串、影像、圖示、音訊、檔案等資源存放在resx檔案中,VS會自動生成一個強型別資源類Resources,C#呼叫Resources.resx資原始檔中的資源:

Properties.Resources.資源名稱

6.System.STAThreadAttribute
解析:指示應用程式的COM執行緒模型是單執行緒單元[STA]。

7.Messenger.Default.Send()
解析:用於View和ViewModel以及ViewModel和ViewModel之間的訊息通知和接收。

8.Messenger.Default.Register<string>(this, “ShowSubWindowToken”, ShowSubWindow)
解析:在View中註冊訊息相當於訂閱服務:
[1]訊息標誌token:ShowSubWindowToken,用於標識只閱讀某個或者某些Sender傳送的訊息,並執行相應的處理,所以Sender那邊的token要保持一致
[2]訊息處理Action:ShowSubWindow,引數型別為string,用來執行接收到訊息後的後續工作

9.Messenger.Default.Send(“Show subwindow”,“ShowSubWindowToken”)
解析:在ViewModel中傳送訊息相當於釋出事件,傳遞的訊息引數為Showsubwindow,訊息token為ShowSubWindowToken,需要與接收者註冊的訊息的Token一致。

10.Dispatcher註冊工作項方法
解析:Invoke和BeginInvoke,這兩個方法均排程一個委託來執行:
[1]Invoke是同步呼叫,直到UI執行緒實際執行完該委託它才返回
[2]BeginInvoke是非同步的,將立即返回

11.CommonServiceLocator[1]
解析:Common Service Locator類庫包含應用程式和框架開發者引用Service location共享的介面。這個類庫提供了在IOC容器和Service locators之上抽象。使用這個類庫允許一個應用程式在沒有強引用依賴下間接的訪問的能力。

12.常用IoC介面卡
解析:
[1]如果使用Castle,可以使用Castle Windsor Adaptor
[2]如果使用的是Unity,可以使用Unity Adapter
[3]還有Spring .NET Adapter,StructureMap Adapter等

13.System.UnhandledExceptionEventArgs
解析:為以下情況下引發的事件提供資料:存在一個不是在任何應用程式域中處理的異常。

14.System.Windows.Threading.DispatcherUnhandledExceptionEventArgs
解析:將提供資料供System.Windows.Threading.DispatcherSystem.Windows.Threading.Dispatcher.UnhandledException事件。

15.using == try finally
解析:為了在使用完畢時釋放資源,經常要用using,using實質上就是try finally的一個語法糖而已。

16.<i:Interaction.Triggers>
解析:

//步驟1:引用System.Windows.Interactivity.dll,新增特性。
    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
//步驟2:使用。 
<i:Interaction.Triggers>
  <i:EventTrigger EventName="Loaded">
    <i:InvokeCommandAction Command="{Binding ClockWindowLoadCommand}" CommandParameter="{Binding ElementName=txtCardNo}"/>
  </i:EventTrigger>
  <i:EventTrigger EventName="KeyUp">
    <i:InvokeCommandAction Command="{Binding WindowKeyCommand}"/>
  </i:EventTrigger>
  <i:EventTrigger EventName="Activated">
    <i:InvokeCommandAction Command="{Binding WindowActivatedCommand}" CommandParameter="{Binding ElementName=txtCardNo}"/>
  </i:EventTrigger>
</i:Interaction.Triggers>

17.System.Windows.FrameworkElement.DataContext
解析:獲取或設定元素參與資料繫結時的資料上下文。

18.System.Windows.RoutedEventArgs
解析:包含與路由事件相關聯的狀態資訊和事件資料。

19.System.Windows.Data.Binding.Source()
解析:獲取或設定要用作繫結源的物件。

20.System.Windows.StaticResourceExtension
解析:實現支援靜態[XAML載入時]資源的標記擴充套件外掛從XAML進行的引用。

21.System.Uri System.Windows.Application.StartupUri()
解析:獲取或設定UI一個應用程式啟動時自動顯示。

22.ViewModelLocator
解析:This class contains static references to all the view models in the application and provides an entry point for the bindings.

23.System.Windows.Application.Resources()
解析:獲取或設定應用程式範圍的資源,比如樣式和畫筆的集合。

24.System.Diagnostics.CodeAnalysis.SuppressMessage
解析:初始化SuppressMessageAttribute類的新例項,同時指定靜態分析工具的類別和分析規則的識別符號。

25.GalaSoft.MvvmLight.ViewModelBase
解析:A base class for the ViewModel classes in the MVVM pattern.

參考文獻:
[1]CommonServiceLocator:https://github.com/unitycontainer/commonservicelocator