WPF之MVVM(Step4)——使用Prism(2)

上一篇简单介绍使用Prism中的NotificationObject,以及DelegateCommand。这一篇更是简单,仅仅描述下DelegateCommand<T>如何使用。

ICommand接口一开始提供的就是带参数的方法,而我们使用时经常会遇到那个参数毫无用处的情况,Prism也就帮了偶们一把啦。当然,Prism并没有忘记我们有时还是要参数滴。

在定义上,我们使用ICommand定义,DelegateCommand和DelegateCommand<T>一样。在实例化时有所区别,当然在界面绑定时亦有区别,详细如下:

TestParameterCommand = new DelegateCommand<string>(TestParameter);
private void TestParameter(string para)
        {
            TestStr = para + "para";
        }
<Button Grid.Row="2" Content="TestParameter" Command="{Binding TestParameterCommand}" CommandParameter="{Binding Text, ElementName=textBox}" />

下面是用代码进行Command的调用【带参数】,若不带参数的直接传null即可。

  private void Button_Click(object sender, RoutedEventArgs e)
        {
            (this.DataContext as TestViewModel).TestParameterCommand.Execute("testpara");
        }

Prism在MVVM方面的介绍就如此啦,主要Prism不仅仅限于MVVM,后期再单独介绍Prism吧,毕竟那可不是个简单的活。


项目代码托管地址:https://wpfmvvm.codeplex.com/
就是爱玩耍,各种玩![‘假’技术‘真’宅]
个人网站:http://www.shisujie.com
原文地址:https://www.cnblogs.com/huaxia283611/p/4207096.html