| 类名 | 描述 | 重要 |
|---|---|---|
| ViewModelBase | ViewModel基类,想要支持刷新通知必须实现INotifyPropertyChanged,集合和单属性都需要触发OnPropertyChanged | ⭐⭐⭐⭐⭐ |
| Execute | UI调度器,可以在多线程中访问委托UI线程执行某些操作 | ⭐⭐⭐⭐ |
| WindowHelper | 窗口跳转关闭等等 | ⭐⭐⭐ |
| DelegateCommand | 命令接口实现 | ⭐⭐ |
| Auth | 用户认证,可以在登录的时候记录认证信息 | ⭐ |
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC#\Snippets\2052\Visual C#| 简写 | 描述 | 使用率 |
|---|---|---|
| propfull | 刷新属性 | ⭐⭐⭐ |
| command | 命令 | ⭐⭐ |
| propdp | 依赖属性 | ⭐ |
/// <summary>
/// 命令 command
/// </summary>
public ICommand Command => new DelegateCommand(obj =>
{
});
private int name;
/// <summary>
/// 刷新属性 propfull
/// </summary>
public int Name
{
get { return name; }
set
{
name = value;
OnPropertyChanged(nameof(Name));
}
}Nuget中 安装System.Windows.Interactivity (具体使用方式可以百度)
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
<i:Interaction.Triggers>
<i:EventTrigger EventName="GotFocus">
<i:InvokeCommandAction Command="{Binding Command}" />
</i:EventTrigger>
</i:Interaction.Triggers>你还可以使用DMSkin里面的Broadcast,这是一个事件通知器,可以传递数据。Command="{Binding CloseCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}"/// <summary>
/// 关闭窗口
/// </summary>
public ICommand CloseCommand => new DelegateCommand(obj =>
{
if (obj is Window window)
{
window.Close();
}
});你还可以使用DMSkin里面的Broadcast,这是一个事件通知器,可以传递数据。C# .NET (2000人) QQ交流群 76566523
DMSkin QQ交流群: 194684812
WPF 课程学习群 (收费): 611509631