您现在的位置是:主页 > news > 传奇手游网站/西安关键字优化哪家好

传奇手游网站/西安关键字优化哪家好

admin2025/5/14 1:41:07news

简介传奇手游网站,西安关键字优化哪家好,扬中疫情最新公告,商城网站开发公司排名我收到邀请大概是13号,现在半个月过去了,你应该是实现了吧。首先要明白什么是绑定其次要明白什么是命令模式(23种设计模式之一)最后要明白什么是MVVM以上,先不说复杂的原理,仅从实践的角度去学习(仅为实现mvvm)。简单的绑定modelc…

传奇手游网站,西安关键字优化哪家好,扬中疫情最新公告,商城网站开发公司排名我收到邀请大概是13号,现在半个月过去了,你应该是实现了吧。首先要明白什么是绑定其次要明白什么是命令模式(23种设计模式之一)最后要明白什么是MVVM以上,先不说复杂的原理,仅从实践的角度去学习(仅为实现mvvm)。简单的绑定modelc…

我收到邀请大概是13号,现在半个月过去了,你应该是实现了吧。

首先要明白什么是绑定

其次要明白什么是命令模式(23种设计模式之一)

最后要明白什么是MVVM

以上,先不说复杂的原理,仅从实践的角度去学习(仅为实现mvvm)。

简单的绑定

model

class BingModel

{

private string _Context;

public string Context

{

get => _Context;

set => _Context = value;

}

public BingModel()

{

Context = "Click Me";

}

}

xaml

那么命令模式呢?

我就不上代码了,给个链接,你可以先简单的实现一边C#设计模式系列:命令模式(Command) - libingql - 博客园​www.cnblogs.combfe6f89f81027ebc57e915f76a7e29a2.png

你要明白,命令模式是可以让执行者和命令者分开的手段。

我们在WPF中可以使用内置Icommand接口, 继承接口编写适当类即可。

大部分的控件也是继承 ICommandSource接口,所以只要编写好命令类后绑定。

所以

class ViewModelCommand : ICommand

{

private Action DoExcute;

private Func CanExcute;

public ViewModelCommand(Action doexcute, Func canexcute)

{

DoExcute = doexcute;

CanExcute = canexcute;

}

public event EventHandler CanExecuteChanged;

public bool CanExecute(object parameter)

{

return CanExcute?.Invoke(parameter)??false;

}

public void Execute(object parameter)

{

DoExcute?.Invoke(parameter);

}

}

最后什么是MVVM,

简单来说Model-View-ViewModel。

翻译成人话:

我不关心界面,我只在乎数据,我要数据驱动界面,但界面的风吹草动我也要知道,不过我不主动去处理,我只通过数据去改变界面。

绑定提供数据改变,命令提供分离(相对[其实也是借助绑定])

在上一个部分理解命令模式中,我说了大部分控件是现实了Icommandsource的接口,是自带Command和CommandParameter,所以利用绑定技术绑定就行了。在下面的xaml,使用了相对源和指定源的绑定技术(对比最上面的绑定时候代码要多了点东西,改改就好了)

ViewModel

class ViewModel

{

public ICommand Click

{

get

{

return new ViewModelCommand(new Action(DoAction), new Func(CanAction));

}

}

private bool CanAction(object arg)

{

return !(arg is null);

}

private void DoAction(object obj)

{

MessageBox.Show($"Button Content is {obj.ToString()}");

}

}

xaml

截图

当你熟悉MVVM后,你会遇上很多问题,例如带事件参数的command或者提示框等问题。不过都是可以解决的。