日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

WPF框架教程 | 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器

發(fā)布時(shí)間:2023/12/4 asp.net 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF框架教程 | 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


之前時(shí)間一直在使用Caliburn.Micro這種應(yīng)用了MVVM模式的WPF框架做開發(fā),是時(shí)候總結(jié)一下了。

Caliburn.Micro(https://blog.csdn.net/lzuacm/article/details/78886436)是一個(gè)輕量級(jí)的WPF框架,簡(jiǎn)化了WPF中的不少用法,推薦做WPF開發(fā)時(shí)優(yōu)先使用。

真正快速而熟練地掌握一門技術(shù)就可以嘗試著用最快的速度去構(gòu)建一個(gè)玩具項(xiàng)目(Toy project),然后不斷地優(yōu)化、重構(gòu)之。比如本文將介紹如何使用Caliburn.Micro v3.2開發(fā)出一個(gè)簡(jiǎn)單的計(jì)算器,里面用到了C#中的async異步技術(shù),Caliburn.Micro中的Conductor等等~


>>>1.在VS中創(chuàng)建WPF項(xiàng)目<<<


>>>2.使用NuGet包管理工具為當(dāng)前項(xiàng)目安裝Caliburn.Micro?<<<

對(duì)于Caliburn.Micro 1.x和2.x版,只能使用.dll,需手動(dòng)給項(xiàng)目加Reference。而3.0以后的版本可使用NuGet包管理工具來管理,安裝和卸載既方便又徹底,推薦使用。(ps: NuGet之于Visual Studio(C++, C#等), 猶pip之于Python, npm之于node, maven之于Java, gem之于Ruby等等)


>>>3.框架搭建? <? <? <

  • 刪除項(xiàng)目根目錄下的MainWindow.xaml

  • 按下圖調(diào)整 App.xaml
    刪除語(yǔ)句

    StartupUri="MainWindow.xmal"。

  • 填充Application.Resources

  • <Application.Resources>
    <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary>
    <local:Bootstrapper x:Key="bootstrapper"/>
    </ResourceDictionary>
    </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
    </Application.Resources>

    ?? 4 . 創(chuàng)建Bootstrapper類
    然后讓其繼承自BootstrapperBase類,并加上構(gòu)造函數(shù),另外再重寫函數(shù)OnStartup即可。


    using System.Windows;
    using Caliburn.Micro;
    using CaliburnMicro_Calculator.ViewModels;

    namespace CaliburnMicro_Calculator
    {
    public class Bootstrapper : BootstrapperBase
    {
    public Bootstrapper()
    {
    Initialize();
    }

    protected override void OnStartup(object obj, StartupEventArgs e)
    {
    DisplayRootViewFor<ShellViewModel>();
    }
    }
    }

    ?? 5 . 在項(xiàng)目目錄下新建Models, ViewModels, Views這3個(gè)文件夾
    在ViewModel文件夾中添加ShellViewModel.cs,并創(chuàng)建Left, Right和Result這3個(gè)屬性。

    需要注意的是 ShellViewModel.cs需要繼承類?

    Screen 和 INotifyPropertyChanged(用于感知并同步所綁定屬性的變化),ShellViewModel具體代碼為:


    using System.ComponentModel;
    using System.Threading;
    using System.Windows;
    using System.Windows.Controls;
    using Caliburn.Micro;

    namespace CaliburnMicro_Calculator.ViewModels
    {
    public class ShellViewModel : Screen, INotifyPropertyChanged
    {
    private double _left;
    private double _right;
    private double _result;

    public double Left
    {
    get { return _left; }
    set
    {
    _left = value;
    NotifyOfPropertyChange();
    }
    }

    public double Right
    {
    get { return _right; }
    set
    {
    _right = value;
    NotifyOfPropertyChange();
    }
    }

    public double Result
    {
    get { return _result; }
    set
    {
    _result = value;
    NotifyOfPropertyChange();
    }
    }
    }

    說明:?最開始布局xaml時(shí),設(shè)計(jì)位置時(shí)采用的是左(operand 1), 中(operand 2), 右(result),于是屬性值使用了Left, Right和Result。


    >>>4.設(shè)計(jì)XAML并綁定屬性?<? ?<? <

    在Views文件夾中創(chuàng)建Window,命名為ShellView.xaml,在Views文件夾下創(chuàng)建子文件夾Images,用于存放+,-,*,/這4種操作對(duì)應(yīng)的小圖標(biāo),其具體代碼如下:

    <Window x:Class="CaliburnMicro_Calculator.Views.ShellView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:CaliburnMicro_Calculator.Views"
    xmlns:cal="http://www.caliburnproject.org"
    mc:Ignorable="d"
    Title="Calculator" SizeToContent="Height" Width="240">


    <StackPanel Background="Beige">
    <StackPanel Orientation="Horizontal">
    <Label Margin="10"
    Target="{Binding ElementName=left}">

    Operand _1:
    </Label>
    <TextBox Margin="10"
    Width="72"
    x:Name="left"/>

    </StackPanel>
    <StackPanel Orientation="Horizontal">
    <Label Margin="10"
    Target="{Binding ElementName=right}">

    Operand _2:
    </Label>
    <TextBox Margin="10"
    Width="72"
    x:Name="right"/>

    </StackPanel>
    <StackPanel Orientation="Horizontal">
    <Button Margin="10"
    x:Name="btnPlus"
    cal:Message.Attach="[Event Click]=[Action Plus(left.Text, right.Text):result.Text]">

    <Image Source="Images/op1.ICO"/>
    </Button>

    <Button Margin="10"
    x:Name="btnMinus"
    cal:Message.Attach="[Event Click]=[Action Minus(left.Text, right.Text):result.Text]">

    <Image Source="Images/op2.ICO"/>
    </Button>

    <Button Margin="10"
    x:Name="btnMultiply"
    cal:Message.Attach="[Event Click]=[Action Multipy(left.Text, right.Text):result.Text]">

    <Image Source="Images/op3.ICO"/>
    </Button>

    <Button Margin="10"
    x:Name="btnDivide" IsEnabled="{Binding Path=CanDivide}"
    cal:Message.Attach="[Event Click]=[Action Divide(left.Text, right.Text):result.Text]">

    <Image Source="Images/op4.ICO"/>
    </Button>

    </StackPanel>
    <StackPanel Orientation="Horizontal">
    <Label Margin="10">
    Answer:
    </Label>
    <TextBox Margin="10"
    Width="72"
    Text ="{Binding Path=Result, StringFormat={}{0:F4}}" IsReadOnly="True" />

    </StackPanel>
    </StackPanel>
    </Window>

    說明:對(duì)操作數(shù)Operand _1和Operand _2,按Alt鍵+數(shù)字可以選中該處,這是WPF的一個(gè)特殊用法。由于計(jì)算結(jié)果不希望被修改,于是加上了屬性IsReadOnly="True"。


    >>>5.設(shè)計(jì)并綁定事件??<? <? <

    由于暫時(shí)只打算實(shí)現(xiàn)+, -, *, /四種操作,于是我們只需創(chuàng)建相應(yīng)的4個(gè)函數(shù)即可,由于除數(shù)是0這個(gè)操作不允許,于是需再加個(gè)判斷函數(shù)CanDivide。

    Caliburn.Micro中綁定事件的寫法是:
    cal:Message.Attach="[Event E]=[Action A]"

    (E是操作,比如Click, MouseDown, KeyDown等等,A是ViewModel中具體的函數(shù)。)

    向ShellViewModel中加入事件中要做的事,此時(shí)ShellViewModel為:

    using System.ComponentModel;
    using System.Threading;
    using System.Windows;
    using System.Windows.Controls;
    using Caliburn.Micro;

    namespace CaliburnMicro_Calculator.ViewModels
    {
    public class ShellViewModel : Screen, INotifyPropertyChanged
    {
    private double _left;
    private double _right;
    private double _result;

    public double Left
    {
    get { return _left; }
    set
    {
    _left = value;
    NotifyOfPropertyChange();
    }
    }

    public double Right
    {
    get { return _right; }
    set
    {
    _right = value;
    NotifyOfPropertyChange();
    }
    }

    public double Result
    {
    get { return _result; }
    set
    {
    _result = value;
    NotifyOfPropertyChange();
    }
    }
    public bool CanDivide(double left, double right)
    {
    return right != 0;
    }

    public async void Divide(double left, double right)
    {
    Thread.Sleep(600);
    if (CanDivide(left, right) == true)
    Result = left / right;
    else MessageBox.Show("Divider cannot be zero.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
    }

    public async void Plus(double left, double right)
    {
    Result = left + right;
    }

    public async void Minus(double left, double right)
    {
    Result = left - right;
    }

    public async void Multipy(double left, double right)
    {
    Result = left * right;
    }
    }
    }

    此時(shí)計(jì)算器的功能已基本完成,但我們可以對(duì)ViewModel進(jìn)行適當(dāng)?shù)恼{(diào)整:
    1.創(chuàng)建新的ViewModel - CalculatorViewModel,將原來的ShellViewModel中具體的計(jì)算邏輯移入到CalculatorViewModel中;
    2.此時(shí)讓ShellViewModel繼承Conductor<Object>,于是ShellViewModel擁有了管理Screen實(shí)例的功能(ViewModel中使用ActivateItem函數(shù),而View中使用X:Name="ActivateItem"標(biāo)簽),其具體代碼為:

    using System.ComponentModel;
    using System.Threading;
    using System.Windows;
    using System.Windows.Controls;
    using Caliburn.Micro;

    namespace CaliburnMicro_Calculator.ViewModels
    {
    public class ShellViewModel : Conductor<object>
    {
    public ShellViewModel()
    {
    }
    public void ShowCalculator()
    {
    ActivateItem(new CalculatorViewModel());
    }
    }
    }

    此時(shí),CalculatorViewModel的具體代碼為:

    using System.ComponentModel;
    using System.Threading;
    using System.Windows;
    using Caliburn.Micro;

    namespace CaliburnMicro_Calculator.ViewModels
    {
    public class CalculatorViewModel: Screen, INotifyPropertyChanged
    {
    private double _left;
    private double _right;
    private double _result;

    public double Left
    {
    get { return _left; }
    set
    {
    _left = value;
    NotifyOfPropertyChange();
    }
    }

    public double Right
    {
    get { return _right; }
    set
    {
    _right = value;
    NotifyOfPropertyChange();
    }
    }

    public double Result
    {
    get { return _result; }
    set
    {
    _result = value;
    NotifyOfPropertyChange();
    }
    }

    public CalculatorViewModel()
    {
    }

    public bool CanDivide(double left, double right)
    {
    return right != 0;
    }

    public async void Divide(double left, double right)
    {
    Thread.Sleep(600);
    if (CanDivide(left, right) == true)
    Result = left / right;
    else MessageBox.Show("Divider cannot be zero.", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
    }

    public async void Plus(double left, double right)
    {
    Result = left + right;
    }

    public async void Minus(double left, double right)
    {
    Result = left - right;
    }

    public async void Multipy(double left, double right)
    {
    Result = left * right;
    }
    }
    }

    ??3 . 對(duì)于View,只需把CalculatorViewModel對(duì)應(yīng)的CalculatorView作為ContentControl控件嵌入ShellView即可。此時(shí)ShellView的代碼調(diào)整為:

    <Window x:Class="CaliburnMicro_Calculator.Views.ShellView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:CaliburnMicro_Calculator.Views"
    xmlns:cal="http://www.caliburnproject.org"
    mc:Ignorable="d"
    Title="Calculator" SizeToContent="Height" Width="240">


    <Grid MinHeight="200">
    <Button Content="Show Calculator" x:Name="ShowCalculator" Grid.Row="0"></Button>
    <ContentControl x:Name="ActiveItem"></ContentControl>
    </Grid>
    </Window>

    另外提一點(diǎn),向ViewModel A中嵌入ViewModel B,一般來說需要做的操作是:
    在A的view中使用ContentControl,綁定B的ViewModel只需使用語(yǔ)句cal:View.Model="{Binding BViewModel}"即可,而B的view是UserControl就可以啦。

    此時(shí)CalculatorView是一個(gè)UserControl,其代碼為:

    <UserControl x:Class="CaliburnMicro_Calculator.Views.CalculatorView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:local="clr-namespace:CaliburnMicro_Calculator.Views"
    xmlns:cal="http://www.caliburnproject.org"
    mc:Ignorable="d"
    Width="240">


    <StackPanel Background="Beige">
    <StackPanel Orientation="Horizontal">
    <Label Margin="10"
    Target="{Binding ElementName=left}">

    Operand _1:
    </Label>
    <TextBox Margin="10"
    Width="72"
    x:Name="left"/>

    </StackPanel>
    <StackPanel Orientation="Horizontal">
    <Label Margin="10"
    Target="{Binding ElementName=right}">

    Operand _2:
    </Label>
    <TextBox Margin="10"
    Width="72"
    x:Name="right"/>

    </StackPanel>
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
    <Button Margin="10"
    x:Name="btnPlus"
    cal:Message.Attach="[Event Click]=[Action Plus(left.Text, right.Text):result.Text]">

    <Image Source="Images/op1.ICO"/>
    </Button>

    <Button Margin="10"
    x:Name="btnMinus"
    cal:Message.Attach="[Event Click]=[Action Minus(left.Text, right.Text):result.Text]">

    <Image Source="Images/op2.ICO"/>
    </Button>

    <Button Margin="10"
    x:Name="btnMultiply"
    cal:Message.Attach="[Event Click]=[Action Multipy(left.Text, right.Text):result.Text]">

    <Image Source="Images/op3.ICO"/>
    </Button>

    <Button Margin="10"
    x:Name="btnDivide" IsEnabled="{Binding Path=CanDivide}"
    cal:Message.Attach="[Event Click]=[Action Divide(left.Text, right.Text):result.Text]">

    <Image Source="Images/op4.ICO"/>
    </Button>

    </StackPanel>
    <StackPanel Orientation="Horizontal">
    <Label Margin="10">
    Answer:
    </Label>
    <TextBox Margin="10"
    Width="72"
    Text ="{Binding Path=Result, StringFormat={}{0:F4}, UpdateSourceTrigger=PropertyChanged}" IsReadOnly="True" />

    </StackPanel>
    </StackPanel>
    </UserControl>

    好啦,就醬,由于本例中邏輯并不復(fù)雜,Model暫時(shí)用不上,對(duì)于復(fù)雜一點(diǎn)的項(xiàng)目,Model主要負(fù)責(zé)數(shù)據(jù)的讀取,如文件操作、數(shù)據(jù)庫(kù)操作、service調(diào)用等,以后有機(jī)會(huì)舉例具體來說。

    如果需要持久化(persistent),則還需給給每對(duì)M-VM(Model和ViewModel)加入State,這個(gè)實(shí)際工程中也用得特別多。


    >>>6.功能舉例??<? <? <

    Calculator主頁(yè):

    點(diǎn)擊按鈕“ShowCalculator”即可看到具體的計(jì)算器~

    乘法舉例:

    除法舉例:


    最后附上代碼:
    CaliburnMicro-Calculator: A simple Calculator using Caliburn.Micro
    https://github.com/yanglr/CaliburnMicro-Calculator
    歡迎fork和star,如有改進(jìn)意見歡迎提交pull request~




    原文地址:

    https://blog.csdn.net/lzuacm/article/details/80559517

    更多精彩文章,歡迎訪問本人博客https://enjoy233.cnblogs.com 或 知乎搜索Bravo Yeung.

    歡迎轉(zhuǎn)發(fā)到朋友圈,公眾號(hào)轉(zhuǎn)載請(qǐng)后臺(tái)聯(lián)系本人申請(qǐng)授權(quán)~



    推薦閱讀

    中英文電子書下載網(wǎng)站大搜羅

    英語(yǔ)語(yǔ)法工具 | 那些可以糾正英語(yǔ)文章中語(yǔ)法的神器們

    開發(fā)者見聞 | ASP.NET Core開發(fā)者路線圖



    點(diǎn)擊在看的人,

    2019都會(huì)變得特別好看

    總結(jié)

    以上是生活随笔為你收集整理的WPF框架教程 | 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    99在线精品视频 | 国产美女视频免费观看的网站 | 91亚洲视频在线观看 | 日韩欧美精品一区 | 日韩最新在线 | 视频一区在线免费观看 | 久久综合久久综合这里只有精品 | 国产成人精品一区二区在线观看 | 欧美 日韩 国产 成人 在线 | 欧美激情xxxx性bbbb | 超碰精品在线 | av在线播放网址 | 欧美一级高清片 | 成人av电影免费在线播放 | 伊人久久在线观看 | 色综合久久网 | 亚洲精品乱码久久久久久9色 | 一区二区三区精品在线视频 | 视频在线观看入口黄最新永久免费国产 | 日韩久久一区二区 | 粉嫩av一区二区三区四区在线观看 | 少妇bbbb搡bbbb搡bbbb | 99热精品免费观看 | 日本特黄一级 | 欧美精品中文字幕亚洲专区 | 日韩在线视频免费播放 | 亚洲免费婷婷 | 91精品视频在线看 | 国产高清一级 | 色婷婷a | 国内精品视频在线 | 韩国精品在线 | 免费能看的av | 成年人视频免费在线播放 | www.黄色片.com | 成人aⅴ视频 | 欧美激情xxxx性bbbb | 久久精品国产亚洲精品 | 国产视频 久久久 | 97国产视频 | bbw av| 久久精品成人 | 亚洲视频免费在线 | 一区二区三区免费播放 | 亚洲三级av | 国产中文字幕在线观看 | 亚洲精品乱码久久久一二三 | 欧美精品你懂的 | 青青色影院 | 亚洲欧美怡红院 | 特级毛片在线 | 久久久久激情电影 | 少妇bbb搡bbbb搡bbbb | 国产亚洲精品久久久网站好莱 | 超碰在线日本 | 中文字幕一区二区三区四区在线视频 | 日日碰狠狠躁久久躁综合网 | 日韩aⅴ视频 | 外国av网 | 久久高清av| 久久天天躁夜夜躁狠狠85麻豆 | 欧美日韩精品久久久 | 深爱激情综合 | 特级西西www44高清大胆图片 | 999热线在线观看 | 日韩精品一区二区三区中文字幕 | 国产一区福利在线 | 国产精品观看视频 | 99c视频在线 | 射射色 | 国产精品一区二区吃奶在线观看 | 精品伊人久久久 | 99精品久久久久久久 | 日韩mv欧美mv国产精品 | 日韩欧美高清在线观看 | 日韩精品影视 | 91在线精品播放 | 在线观看自拍 | 欧美性色综合网站 | av大全在线免费观看 | 亚洲最新av在线网站 | 成人毛片在线视频 | 夜夜天天干 | 国产精品日韩欧美 | 四虎国产 | 亚洲精品乱码久久久久久蜜桃欧美 | 在线观看日本高清mv视频 | 亚洲成成品网站 | 欧美日韩不卡在线视频 | 丁香六月在线观看 | 欧美日韩精品综合 | 97人人超| 一区二区精品在线 | 久久99电影 | 亚洲精品玖玖玖av在线看 | 亚洲日本va午夜在线电影 | 久久精品一区二区三 | 香蕉视频免费看 | 欧美日韩一区二区三区不卡 | 在线 你懂| 久久综合福利 | 91精品啪在线观看国产 | 日韩首页| 久久中文欧美 | 91精品久久久久久久91蜜桃 | 久久成人资源 | 亚洲欧美日韩国产一区二区 | 国产精品mv在线观看 | 午夜精品视频在线 | 手机在线看片日韩 | 在线国产专区 | 91免费网站在线观看 | 美女视频黄频大全免费 | 久久国产精品一区二区三区 | 欧美大片mv免费 | 三级黄色欧美 | 精品免费久久久久久 | 一级黄色片在线播放 | 天堂在线一区二区 | 国产精品美女久久久久久久 | 国产一区二区中文字幕 | a天堂最新版中文在线地址 久久99久久精品国产 | 午夜久久影院 | 免费观看一区二区 | 国产精品久久久久久一二三四五 | 97免费中文视频在线观看 | 欧美性视频网站 | 日韩av手机在线看 | 欧美性视频网站 | av免费电影在线观看 | 久久精品高清视频 | 久草在线免费资源站 | 免费裸体视频网 | 久久夜夜爽 | 最近中文字幕完整高清 | 国产高清在线视频 | 伊人狠狠干 | 久久国产精品色av免费看 | 人人盈棋牌 | 国产视频精品在线 | 黄色三级免费网址 | 色在线视频网 | 俺要去色综合狠狠 | 波多野结衣在线中文字幕 | 日本黄色免费播放 | 在线看一区二区 | 五月婷婷色播 | 日韩精品综合在线 | 黄色av成人在线 | 亚洲国产中文字幕在线 | 日韩精品aaa | 国产高清在线一区 | 国产h在线播放 | 九九九九色 | 日韩网站免费观看 | 国产破处精品 | 91爱爱网址 | 亚洲最大的av网站 | 久久成人国产精品 | av不卡在线看 | 久草在线视频首页 | 国产在线黄 | 中文字幕在线高清 | 高清精品在线 | 日韩手机在线观看 | 最新av在线网站 | 久久成视频 | 久草在线资源网 | 久久久久久麻豆 | 婷婷成人在线 | 91精品一区二区三区久久久久久 | 久久在线精品视频 | 99热这里只有精品久久 | 亚洲国产中文字幕 | 国产又粗又猛又爽又黄的视频免费 | 日韩在线观 | 国产色视频网站2 | 九色91在线| 午夜影院一区 | 欧美少妇的秘密 | 亚洲涩涩网站 | 亚洲一区尤物 | 夜夜躁日日躁狠狠久久88av | 黄污视频大全 | 水蜜桃亚洲一二三四在线 | 国内精品久久久久影院一蜜桃 | 中文区中文字幕免费看 | 久久激情小说 | 日韩v欧美v日本v亚洲v国产v | 91在线精品秘密一区二区 | 六月色婷婷 | 国产日韩亚洲 | 69视频永久免费观看 | 亚洲精品在线网站 | 日韩亚洲国产中文字幕 | 97色国产| 亚洲精品在线免费看 | 东方av免费在线观看 | 久久久久久不卡 | 在线视频成人 | 久草在线视频免费资源观看 | 久久这里有精品 | 亚洲一级久久 | 亚洲高清色综合 | 精品一区二区日韩 | 福利网址在线观看 | 超碰在线网| 国产主播大尺度精品福利免费 | 国产精品你懂的在线观看 | 日韩sese | 精品久久久久久久久亚洲 | 日日摸日日 | 久久亚洲综合色 | 日韩www在线 | 日韩精品不卡在线观看 | 西西444www大胆无视频 | 99色在线观看视频 | 久久久色 | 中文字幕日本在线 | 伊人狠狠色丁香婷婷综合 | 国产中文字幕视频 | 狠色狠色综合久久 | 久草色在线观看 | 日韩精品欧美专区 | 久久五月情影视 | 1000部18岁以下禁看视频 | 99综合视频 | 99久久久久免费精品国产 | 中文字幕在线影院 | 亚洲精品久久激情国产片 | 亚洲一区二区精品3399 | 午夜精品一区二区三区在线视频 | 久热免费在线 | 国产视频观看 | 国产精品一区二区吃奶在线观看 | 久久99在线观看 | 欧美日产一区 | 日韩在线欧美在线 | 999男人的天堂 | 欧美日韩在线网站 | 日韩精品一区二区三区电影 | 91污污视频在线观看 | 4438全国亚洲精品在线观看视频 | 国产精品激情偷乱一区二区∴ | 久久综合久久综合九色 | 麻豆国产视频 | 在线视频99 | 国产视频精选 | av线上看 | 一区二区三区四区五区六区 | 日韩欧美一区视频 | 日韩精品中文字幕一区二区 | 亚洲午夜精品一区二区三区电影院 | 黄p网站在线观看 | 久久在线看 | 五月婷网| 久久久久久网址 | 亚洲国产中文字幕在线视频综合 | 丁香五月亚洲综合在线 | 国产精品久久网站 | 91视频久久久久 | 国产亚洲精品中文字幕 | 日韩精品无码一区二区三区 | 一区二区三区电影在线播 | 麻豆系列在线观看 | 激情小说 五月 | 黄色特级毛片 | 婷婷丁香花五月天 | 在线观看精品视频 | 6080yy午夜一二三区久久 | 91天堂素人约啪 | 日本爱爱片 | 999久久久久久久久 69av视频在线观看 | 久久免费黄色大片 | 成人av电影免费在线观看 | 韩日电影在线 | 日本久久91 | 久久精品99国产国产精 | 99国产一区 | 中文字幕一区二区在线播放 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 国产一级片播放 | 国产精品久久久久久久久久久免费看 | 嫩草伊人久久精品少妇av | 久久国产精品系列 | 麻豆视频在线看 | 日韩精品中文字幕一区二区 | 久久伊人免费视频 | 欧美黑人xxxx猛性大交 | 日韩特级毛片 | 一区三区视频在线观看 | 中文字幕在线日本 | 久久免费黄色网址 | 婷婷av综合 | 日韩另类在线 | 91精品国产综合久久福利不卡 | 日韩免费高清在线 | a成人在线| 精品国产免费久久 | 在线免费亚洲 | 91久久国产自产拍夜夜嗨 | 国产黑丝袜在线 | 国产精品入口66mio女同 | 日韩精品一区二区在线视频 | 2019av在线视频 | 黄色影院在线免费观看 | 大片网站久久 | 伊人天天 | 国产日韩欧美视频在线观看 | 亚洲精品乱码久久久久久蜜桃动漫 | 国产精品久久久久久婷婷天堂 | 少妇精69xxtheporn | 精品亚洲二区 | av成人在线观看 | 四虎国产精品成人免费4hu | 成人免费观看电影 | 操天天操 | 国产精彩视频一区二区 | 中文字幕亚洲情99在线 | 国产精品日韩欧美 | 国产成人久久av免费高清密臂 | 中文字幕第一页在线播放 | 91精品视频免费看 | 青春草视频| 怡红院av久久久久久久 | 久久综合狠狠狠色97 | 国产成人免费精品 | 狠狠操操网 | 免费一级毛毛片 | 在线а√天堂中文官网 | 精品欧美一区二区在线观看 | 亚洲精品av中文字幕在线在线 | 亚洲区精品视频 | 成人av片在线观看 | 国产精品99久久久久久武松影视 | 国产视频每日更新 | 久久精品在线免费观看 | 外国av网| 最新超碰在线 | 在线香蕉视频 | aⅴ精品av导航 | 久久久精品久久 | 波多野结衣久久精品 | 亚洲综合视频在线 | 精品国产1区二区 | 亚洲精品在线观看网站 | 色婷婷激情电影 | 国产午夜精品一区二区三区嫩草 | 欧美激情精品一区 | 黄色官网在线观看 | 欧美精品在线观看免费 | 日韩av女优视频 | 国产成人免费在线 | 99 视频 高清 | 国产精品国产自产拍高清av | 国产专区在线播放 | 久久久亚洲麻豆日韩精品一区三区 | 制服丝袜亚洲 | 久久成人人人人精品欧 | av线上免费观看 | 五月天亚洲综合小说网 | 成人免费网视频 | 婷婷丁香六月天 | 麻豆视频在线免费 | 久久久久久国产精品 | 手机在线永久免费观看av片 | 亚洲免费观看视频 | 天天综合网久久综合网 | 91视频高清完整版 | 伊人五月天.com | 黄色毛片观看 | 在线你懂的视频 | 美女网站黄免费 | www.91av在线 | 日日夜夜亚洲 | 亚洲激情五月 | 国产网站在线免费观看 | 欧美性天天| 亚洲一级片在线看 | 日韩精品一区在线播放 | 日韩高清免费在线观看 | 激情视频免费在线 | 国产精品久久久久久久久久妇女 | 成年人电影毛片 | 丁香六月婷婷综合 | 五月激情电影 | 国产成人资源 | 一二区精品 | 国产精品12| 国产亚洲精品综合一区91 | 黄色在线视频网址 | 国产乱视频 | 国产视频网站在线观看 | 六月丁香综合网 | 成年人在线播放视频 | 亚洲成人精品在线观看 | 国产成人精品免高潮在线观看 | 久久久黄色 | 久热免费在线观看 | 夜夜操天天摸 | 五月天综合色 | 四虎精品成人免费网站 | 色综合天天爱 | 九色激情网 | 久草在线视频首页 | 欧美精品少妇xxxxx喷水 | 亚洲人成精品久久久久 | 91av蜜桃 | 黄污在线看 | 国产91精品一区二区麻豆亚洲 | 成人av视屏 | www久 | 午夜视频在线观看欧美 | 中文一区在线观看 | 成人国产精品 | 亚洲精品玖玖玖av在线看 | 日日噜噜噜噜夜夜爽亚洲精品 | 欧美激情视频一二三区 | 久久亚洲区 | 免费在线观看的av网站 | 欧美日韩视频观看 | 天天干视频在线 | 午夜骚影 | 久久国产精品久久国产精品 | 久久免费影院 | 91在线观看视频网站 | 99免费观看视频 | 五月开心六月婷婷 | 亚洲精品乱码久久久久 | 午夜在线免费观看视频 | 精品国产乱码久久久久 | 一区在线免费观看 | 色视频成人在线观看免 | 97**国产露脸精品国产 | 国产精品黄色 | 天天摸天天操天天舔 | 午夜手机电影 | 一级性生活片 | 国产精品资源网 | av青草| 国产大片免费久久 | 国产一区精品在线 | 精品国产成人在线 | 五月天伊人 | 亚洲一区久久 | 免费日韩 精品中文字幕视频在线 | av超碰在线观看 | 性色va| 91视频大全| 国产精品久久久毛片 | 久久久久久久看片 | 欧美一区二区日韩一区二区 | 88av色| 久久亚洲欧美日韩精品专区 | 欧美一区,二区 | 国产精品一区二区中文字幕 | 麻豆成人小视频 | 福利视频精品 | 久久人人爽人人 | 激情五月综合网 | 嫩草av在线 | 超碰97公开 | 在线免费观看麻豆视频 | 国产精品片 | 在线视频电影 | 亚洲午夜在线视频 | 黄色av一区二区三区 | 精品中文字幕视频 | 国产五月婷婷 | 国产专区视频在线观看 | 亚洲精品中文在线资源 | 天天搞夜夜骑 | 韩日在线一区 | 久久亚洲人| 色五月激情五月 | 日本三级大片 | 国产成人精品亚洲精品 | 中文字幕在线免费 | 成年人黄色免费看 | 九九九免费视频 | 青青草在久久免费久久免费 | 国产精品扒开做爽爽的视频 | 国产剧在线观看片 | 亚洲激情视频在线观看 | 亚洲热久久 | 国产偷在线 | 国产黄色美女 | 狠狠操影视 | 欧美激情视频一区 | 激情欧美一区二区三区免费看 | 国产精品婷婷午夜在线观看 | 久久精品这里精品 | 亚洲精品综合久久 | 久久专区| 欧美有色| 少妇搡bbbb搡bbb搡忠贞 | 欧美大香线蕉线伊人久久 | av在线精品 | 狠狠色狠狠色综合日日92 | 狠狠干2018| 2020天天干天天操 | 国产高清视频在线播放一区 | 久久99热精品这里久久精品 | 三级黄色片子 | 国产精品99久久久久久武松影视 | 日韩精品一区二区电影 | 亚洲 在线| 亚洲国产理论片 | 免费看久久久 | 久久久久久久久精 | 色婷婷视频网 | 欧美日韩国产一区 | 久久国产午夜精品理论片最新版本 | 日韩一级片网址 | 亚洲色图激情文学 | 国产在线精品一区 | 欧美美女视频在线观看 | 麻豆视频免费播放 | 日韩手机在线观看 | 国产精品久久99 | 成在线播放| 婷婷草 | 国产精品综合在线观看 | 天天射,天天干 | 精品一区二区在线免费观看 | av成年人电影 | 91久久国产自产拍夜夜嗨 | 99综合电影在线视频 | 中文字幕人成人 | 免费国产在线精品 | 又黄又刺激视频 | 欧美人人| 日韩在线 一区二区 | 欧美日韩在线播放一区 | 国产 欧美 在线 | 狠狠的日 | 日韩在线欧美在线 | 91精品导航 | 国产视频精品免费 | 一区二区三区高清 | 又大又硬又黄又爽视频在线观看 | 亚洲免费在线播放视频 | 国产日韩欧美在线看 | 国产精品一区二区果冻传媒 | 我爱av激情网 | 国产精品一区免费看8c0m | 亚洲精品短视频 | 国产精品国产亚洲精品看不卡15 | 久久不卡免费视频 | 九七在线视频 | 麻豆网站免费观看 | 国产精品乱码高清在线看 | 天天操夜夜看 | 五月婷婷综合在线视频 | 免费看的视频 | 欧美午夜a | www.狠狠操.com | 久久精品免费播放 | 在线成人看片 | 久久久精品国产一区二区电影四季 | 亚洲最新av在线网站 | 草久草久 | 亚洲精品乱码久久久久久久久久 | 久久日本视频 | 一区二区观看 | 天天爽天天爽夜夜爽 | 国产一区免费在线 | 麻豆免费在线视频 | 一区二区三区在线免费观看 | 日韩毛片一区 | 亚洲精品国产精品乱码在线观看 | 免费美女av| 91精品国产综合久久婷婷香蕉 | 五月婷影院 | 日产乱码一二三区别在线 | 天天摸夜夜添 | av在线成人 | 91精品一区二区三区蜜臀 | 日本中文字幕影院 | 狠狠色噜噜狠狠 | 国产视频美女 | 色婷婷六月天 | 国产精品日韩久久久久 | zzijzzij日本成熟少妇 | www.xxx.性狂虐 | 91久久奴性调教 | 午夜婷婷网 | 久久综合丁香 | 免费成人在线视频网站 | 国产色a在线观看 | 国产精品系列在线观看 | 国产成人91 | 狠狠色噜噜狠狠狠狠2021天天 | 92av视频| 成人免费观看网址 | 国产精品久久久久免费观看 | 在线 视频 一区二区 | 国产精品免费久久久久久 | 精品久久视频 | 免费日韩 精品中文字幕视频在线 | 人人草人 | 久久综合久久伊人 | 久久撸在线视频 | 久久久久久97三级 | 国产91免费在线观看 | 国产黄色免费电影 | 国产在线观看黄 | 五月婷婷在线观看 | 中文字幕在线看视频国产中文版 | 97超碰伊人 | 欧美久久久久久 | 久久综合久久88 | 97精品国产97久久久久久 | 国产中文字幕久久 | 五月天婷婷丁香花 | 五月天综合网站 | 国产永久网站 | 国产亚洲精品久久网站 | 亚洲爱爱视频 | 精品国产伦一区二区三区 | 国产精品欧美一区二区三区不卡 | 日本黄色免费大片 | 亚洲黄色app | 日韩大陆欧美高清视频区 | 国产免费一区二区三区最新 | 亚洲成人精品在线 | 国产精品乱码久久久久 | 国产男女免费完整视频 | 亚洲乱码在线 | 国产精品2019 | 国产精品乱码一区二区视频 | 黄色av一区二区 | 免费看一级一片 | 久久久久日本精品一区二区三区 | 精品av在线播放 | 日韩在线观看视频网站 | 五月婷婷六月丁香 | 久久久久免费电影 | 成人中文字幕+乱码+中文字幕 | 天天综合色天天综合 | 国产成人区 | 免费看国产黄色 | 婷婷丁香色| 夜夜操夜夜干 | 国产福利不卡视频 | 久久综合在线 | 亚洲中字幕 | www.香蕉 | 欧美一级裸体视频 | 国产成人av福利 | 欧美精品在线视频 | 在线观看av小说 | 五月天免费网站 | 日韩精选在线观看 | 在线免费高清一区二区三区 | 国产免费美女 | 国产一区精品在线 | 免费黄色网址大全 | 国产精品青草综合久久久久99 | 欧美成亚洲 | 午夜av影院 | av三级av| 91禁在线看 | av不卡在线看 | av动态图片 | www黄色大片| 欧美精品一区二区免费 | 国产一二区精品 | 久久精品免费看 | 美女视频一区 | 久操视频在线播放 | 一区二区三区免费在线 | 88av色 | 四虎国产视频 | 久久成人在线视频 | 91欧美日韩国产 | 中文字幕综合在线 | 97国产精品一区二区 | 中文字幕在线观看视频一区二区三区 | 亚洲精品久久久久久久不卡四虎 | 日韩黄色一区 | 国产精品系列在线 | 91网在线观看 | 波多野结衣动态图 | 欧美精品二区 | 99九九免费视频 | 97国产大学生情侣酒店的特点 | 黄色www| 免费在线观看av不卡 | 欧美日韩aa| 超碰97国产 | 99视频在线看| 成人免费观看a | 麻豆视频免费入口 | 五月黄色| 国产伦精品一区二区三区照片91 | 成人av电影免费 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 国产精品一区二区在线免费观看 | 国产视频18| 久久最新| 亚洲成av人片在线观看www | 久热免费在线观看 | 欧洲高潮三级做爰 | 免费看片网页 | av短片在线 | 亚洲一级国产 | 精品黄色在线观看 | av在观看 | 手机av电影在线观看 | 综合久久影院 | 特黄免费av | 日韩黄色一级电影 | 日日日日| 亚洲伦理一区二区 | 久久伦理视频 | 亚洲成人精品在线观看 | 国产剧情久久 | 国产精品成人免费精品自在线观看 | 久久免费视频网 | 91精品91| 国产91欧美| 久久国产精品久久精品国产演员表 | 91看片在线观看 | 免费看黄在线网站 | 欧美一级免费高清 | 美女搞黄国产视频网站 | 精品a视频| 国产在线视频一区二区 | 九九热精品在线 | 一区二区三区高清 | 亚洲午夜大片 | 欧美日视频 | 久久99久久99免费视频 | 久久黄色影院 | 性色av一区二区三区在线观看 | 久久久久久久久久国产精品 | 人人狠狠综合久久亚洲婷 | 欧美精品在线观看一区 | 手机av网站 | 国产在线观看网站 | 久久久久日本精品一区二区三区 | 精品成人在线 | 久久综合五月天婷婷伊人 | 国产高清绿奴videos | 中文字幕色网站 | 精品美女国产在线 | 四虎在线影视 | 国产又黄又爽又猛视频日本 | 日韩精品一区二区在线 | 日韩精品中文字幕有码 | 久久国产网站 | 黄色网中文字幕 | 国产伦精品一区二区三区在线 | 日日夜夜天天 | 色婷婷综合久久久久中文字幕1 | 日韩偷拍精品 | 97视频久久久| 国产精品高 | 91九色国产蝌蚪 | 亚洲精品中文字幕在线 | 国产一区欧美日韩 | 草久电影 | 深爱开心激情 | 一区二区影院 | 中文字幕黄色网址 | 亚洲成av人影院 | 98精品国产自产在线观看 | 婷婷网在线 | 九九九热精品免费视频观看网站 | 亚洲天堂社区 | 亚洲成人黄色在线 | 国产成人一区二区啪在线观看 | 中文字幕免费观看全部电影 | 精品91在线 | 久草在线这里只有精品 | 激情伊人 | 日韩免费视频播放 | 久久综合九色综合欧美就去吻 | 毛片永久免费 | 日日精品| 一区二区视频在线免费观看 | 91视频啊啊啊 | 69av网| 日本bbbb摸bbbb | 四虎影视国产精品免费久久 | 在线观看成年人 | 亚洲视频精选 | 国产91精品欧美 | 国产精品久久99综合免费观看尤物 | 一区二区三区在线免费播放 | 成年一级片| 欧美在线一 | 欧女人精69xxxxxx | 精品久久久久久久久久久久久久久久 | 免费观看一级视频 | 久久看看| 欧美日韩有码 | 国内成人综合 | 国产在线观看高清视频 | 亚洲区精品视频 | 亚洲欧洲一区二区在线观看 | 激情婷婷综合网 | 日韩欧美在线第一页 | 日韩电影在线一区二区 | 免费黄色一区 | 亚洲经典视频 | 国产 视频 高清 免费 | 亚洲va欧美va人人爽春色影视 | 99热在线免费观看 | 国产精品99久久久久久久久久久久 | 久草电影在线观看 | 久久视频免费看 | 成人动漫一区二区 | 日韩欧在线 | 在线观看日韩国产 | 午夜精品一区二区三区视频免费看 | 日韩网站在线观看 | 97精品国产97久久久久久免费 | 精品国产一区二区三区日日嗨 | 免费高清看电视网站 | 国产午夜精品视频 | 91免费视频网站在线观看 | www国产亚洲精品久久网站 | 中文在线a√在线 | 日韩免费看的电影 | av中文在线观看 | www.精选视频.com | 日韩videos| 色播六月天 | 91视频久久久久 | 成人资源在线观看 | 久久精品导航 | 五月婷婷丁香激情 | 激情久久一区二区三区 | 视频在线观看入口黄最新永久免费国产 | 91九色在线观看 | 中文字幕五区 | 国产高清无线码2021 | 在线视频观看国产 | 国产精品入口传媒 | 日本超碰在线 | 2019精品手机国产品在线 | 欧美日韩激情视频8区 | 日韩午夜三级 | 亚洲精品视频在线免费播放 | 日韩激情视频在线 | 久久精品高清 | 国产成人99av超碰超爽 | 97视频免费在线看 | 在线观影网站 | 国产原创91| 成人一区二区三区在线 | 久久成人高清视频 | 久久在现 | 黄污网 | 久影院 | 日韩久久精品 | av再线观看| 热久久免费视频精品 | 久久精品一二三区白丝高潮 | 国产1级视频 | 久久综合一本 | 国产直播av | 久久国产高清视频 | 成人免费视频观看 | 国产精品99在线观看 | 五月香婷 | 国产亚洲精品久久久久久久久久久久 | 国产综合香蕉五月婷在线 | 国产精品久久电影观看 | 国产真实精品久久二三区 | 91久久偷偷做嫩草影院 | 成人午夜电影在线播放 | bbw av| 特黄一级毛片 | 麻豆视频免费入口 | 天天爱天天操天天射 | 国产va饥渴难耐女保洁员在线观看 | 91久久国产自产拍夜夜嗨 | 日韩簧片在线观看 | 亚洲首页| 国产视频一区二区三区在线 | 亚洲视屏一区 | av在线免费观看网站 | 蜜桃视频精品 | 四虎影视成人永久免费观看视频 | 国产精品激情偷乱一区二区∴ | 亚洲一级特黄 | 国产在线观看地址 | 91传媒在线观看 | 欧美精品在线观看免费 | 国产精品嫩草在线 | 91九色精品 | 成人v| 日韩欧美一区二区在线播放 | 人人爽人人av | 四虎小视频| 九九99| 中文字幕精品一区 | 黄色大全免费网站 | 日本精品视频在线观看 | 婷婷激情久久 | 中文字幕a∨在线乱码免费看 | 91视频久久久久久 | 久久国产精品免费看 | 成年人视频免费在线播放 | 视频二区在线视频 | 亚洲波多野结衣 | 香蕉色综合 | 欧美一级乱黄 | 日韩毛片在线免费观看 | 9999精品免费视频 | 欧美一区二区三区在线看 | 午夜狠狠干 | 蜜桃视频在线观看一区 | 亚洲欧洲久久久 | 久久艹国产 | 亚洲精品国产精品国自产观看 | 国产高清精品在线观看 | 在线视频18在线视频4k | 国产精品久久久久亚洲影视 | 精品免费在线视频 | 日本激情动作片免费看 | 天干啦夜天干天干在线线 | 一区二区三区在线看 | 亚洲成av人片在线观看www | 国产美女精品视频 | 国精产品永久999 | 成人啊 v | 在线国产精品视频 | 91亚洲精品久久久久图片蜜桃 | 黄色网免费| 久久a v视频 | 国产精品久久久久久久7电影 | 日韩有码中文字幕在线 | 日韩在线观看电影 | 伊人手机在线 | 日韩a级黄色 | 成人在线视 | 国产剧情在线一区 | 三级在线视频观看 | 中文字幕韩在线第一页 | 色午夜 | 99热国产在线 | 在线黄频 | 在线导航福利 | 欧美日韩性视频在线 | 探花视频在线版播放免费观看 | 免费在线成人av | 精品人人人 | 黄色一级大片在线免费看国产一 | 精品av网站 | 久久久久久久久影视 | 麻豆一精品传二传媒短视频 | 日日操日日插 | av福利电影 | 99色在线观看视频 | 国产美女在线精品免费观看 | 亚洲免费视频在线观看 | 国产91精品欧美 | 日本少妇高清做爰视频 | 天天做天天爱夜夜爽 | 超黄视频网站 | 粉嫩一区二区三区粉嫩91 | 成人毛片a | 91黄在线看| 国产一区视频免费在线观看 | 精品日韩中文字幕 | 国产美女精品人人做人人爽 | 久久久久欠精品国产毛片国产毛生 | 久久手机在线视频 | 99热99re6国产在线播放 | 亚洲天天摸日日摸天天欢 | 日韩v在线91成人自拍 | 欧美先锋影音 | 夜夜躁狠狠躁日日躁视频黑人 | 久草男人天堂 | 黄色软件在线看 | 99久久久久久久久 | 亚洲免费小视频 | 国产精品免费高清 | 国产精品久久久久久久久久久久冷 | 久久久国产精品网站 | 波多野结衣电影一区 | 欧美国产一区二区 | 黄色福利视频网站 | 国产91精品一区二区麻豆网站 | 午夜狠狠干 | 亚洲欧美乱综合图片区小说区 | 欧洲色吧 | 久久高清免费观看 | 久草国产精品 | 91久久精品日日躁夜夜躁国产 | 婷婷色在线资源 | 天天插天天爱 | 亚洲国产影院av久久久久 | 久久大片|