zoukankan      html  css  js  c++  java
  • C#人爱学不学9[C#5.0异步实例+WPF自己的MVVM Async应用 1/12]

    文章摘要:

    1. 通过简单DEMO.让读者理解Task和Task<T>    学习过程中,掌握async和await

    2. 理解同步和异步的执行

    3. Task.Factory.StartNew()的替代

    4. WPF中传统方式async的应用,让界面不卡

    5. Ay 自编的无任何组件的 快速的MVVM应用,Async版本,实战DEMO

    以下DEMO 以vs2013开发 .Net Framework4.5+  控制台程序为主

    前言: async标记    await异步执行方法,可返回值可不返回,返回值则async Task<T>    不返回则async Task


    实验1:

    使用Task.Delay(TimeSpan)担任耗时操作

    第一课,理解什么时候Task和Task<T>,同步与异步

     

    返现目前是同步的执行,而且AddNum画了绿色的线条,我们使用 .Result()拿到Task返回的值

         public MainViewModel()
            {
                this.ImportDataCommand = new DelegateCommand(this.ImportData);
            }

    OK,目前为止ViewModel算写完了,很简单吧,我们打开MainWindow,按照MVVM的写法,都是讲ViewModel赋予窗体的DataContext

     public MainWindow()
            {
                InitializeComponent();
                this.DataContext = new MainViewModel();
            }

    而窗体对应的xaml中 都是binding对应ViewModel能绑定的东西,绑定吧!!!

    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" WindowStartupLocation="CenterScreen"
            Title="www.ayjs.net aaronyang" Height="350" Width="525">
        <Grid>
            <Button Content="导入数据" HorizontalAlignment="Left" Command="{Binding ImportDataCommand}" Margin="133,32,0,0" VerticalAlignment="Top" Width="190" Height="26"/>
            <TextBox x:Name="txtResult" HorizontalAlignment="Left" Height="24" Margin="133,87,0,0" TextWrapping="Wrap" Text="{Binding ImportResult}" VerticalAlignment="Top" Width="210"/>
    
        </Grid>
    </Window>

    运行吧! 效果一样,主窗体没有阻塞,效果照样能运行.

    好了,今天的内容现讲到这里.喜欢的朋友,可以推推荐

    文章已经迁移: http://www.ayjs.net/post/87.html

    官网阅读:http://www.ayjs.net/post/87.html

           =============潇洒的版权线==========www.ayjs.net===== Aaronyang ========= AY =========== 安徽 六安 杨洋 ==========   未经允许不许转载 =========

           -------------------小小的推荐,作者的肯定,读者的支持。推不推荐不重要,重要的是希望大家能把WPF推广出去,别让这么好的技术消失了,求求了,让我们为WPF技术做一份贡献。-----------------

  • 相关阅读:
    js原型链
    js的__proto__,prototype、constructor属性
    百度ife2015-小白的弯路2
    百度ife2015-小白的弯路1
    Visaul Studio 密钥
    pycharm常用的一些快捷键
    python3练习题--字符串
    字符串相关方法
    python3 基本数据类型
    在python中缩进的重要性
  • 原文地址:https://www.cnblogs.com/AaronYang/p/4427765.html
Copyright © 2011-2022 走看看