类名 | 描述 | 重要 |
---|---|---|
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