WPF学习日记9

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

上一篇:为什么Android中需要viewmodel工厂?


下一篇:iOS 列表界面如何优雅实现模块化与动态化