亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

超炫酷的WPF實現Loading控件效果

2020-01-24 01:22:11
字體:
來源:轉載
供稿:網友

Win8系統的Loading效果還是很不錯的,網上也有人用CSS3等技術實現,研究了一下,并打算用WPF自定義一個Loading控件實現類似的效果,并可以讓用戶對Loading的顆粒(Particle)背景顏色進行自定義,話不多說,直接上代碼:

1、用VS2012新建一個WPF的用戶控件庫項目WpfControlLibraryDemo,VS自動生成如下結構:

2、刪除UserControl1.xaml,并新建一個Loading的CustomControl(不是UserControl),如下圖所示:

3、如果報錯找不到Loading類型,請編譯,下面在Generic.xaml主題文件中對Loading的樣式和內容進行定義(注意添加

xmlns:system = "clr-namespace:System;assembly=mscorlib"),代碼如下:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system = "clr-namespace:System;assembly=mscorlib" xmlns:local="clr-namespace:WpfControlLibraryDemo"> <Style TargetType="{x:Type local:Loading}"> <Setter Property="Template">  <Setter.Value>  <ControlTemplate TargetType="{x:Type local:Loading}">   <Border Background="{TemplateBinding Background}"    BorderBrush="{TemplateBinding BorderBrush}"    BorderThickness="{TemplateBinding BorderThickness}">   <Grid Width = "50" Height = "50">    <Grid.Resources>    <!-- Value Converters -->        <!-- Particle Styling ,must to has RelativeSource -->    <SolidColorBrush x:Key = "ParticleColor" Color = "{Binding Path=FillColor,RelativeSource={RelativeSource TemplatedParent}}" />    <SolidColorBrush x:Key = "ParticleBackgroundColor" Color = "Transparent"/>    <system:Double x:Key = "ParticleOpacity">1</system:Double>    <system:Double x:Key = "ParticleRadius">5</system:Double>    <system:Double x:Key = "StartingPointX">0</system:Double>    <system:Double x:Key = "StartingPointY">-20</system:Double>    <system:Double x:Key = "RotationPointX">0.5</system:Double>    <system:Double x:Key = "RotationPointY">0.5</system:Double>    <!-- StoryBoard -->    <system:TimeSpan x:Key = "StoryBoardBeginTimeP0">00:00:00.000</system:TimeSpan>    <system:TimeSpan x:Key = "StoryBoardBeginTimeP1">00:00:00.100</system:TimeSpan>    <system:TimeSpan x:Key = "StoryBoardBeginTimeP2">00:00:00.200</system:TimeSpan>    <system:TimeSpan x:Key = "StoryBoardBeginTimeP3">00:00:00.300</system:TimeSpan>    <system:TimeSpan x:Key = "StoryBoardBeginTimeP4">00:00:00.400</system:TimeSpan>    <Duration x:Key = "StoryBoardDuration">00:00:01.800</Duration>    <!-- Particle Origin Angles -->    <system:Double x:Key = "ParticleOriginAngleP0">0</system:Double>    <system:Double x:Key = "ParticleOriginAngleP1">-10</system:Double>    <system:Double x:Key = "ParticleOriginAngleP2">-20</system:Double>    <system:Double x:Key = "ParticleOriginAngleP3">-30</system:Double>    <system:Double x:Key = "ParticleOriginAngleP4">-40</system:Double>    <!-- Particle Position & Timing 1 -->    <system:Double x:Key = "ParticleBeginAngle1">0</system:Double>    <system:Double x:Key = "ParticleEndAngle1">90</system:Double>    <system:TimeSpan x:Key = "ParticleBeginTime1">00:00:00.000</system:TimeSpan>    <Duration x:Key = "ParticleDuration1">00:00:00.750</Duration>    <!-- Particle Position & Timing 2 -->    <system:Double x:Key = "ParticleBeginAngle2">90</system:Double>    <system:Double x:Key = "ParticleEndAngle2">270</system:Double>    <system:TimeSpan x:Key = "ParticleBeginTime2">00:00:00.751</system:TimeSpan>    <Duration x:Key = "ParticleDuration2">00:00:00.300</Duration>    <!-- Particle Position & Timing 3 -->    <system:Double x:Key = "ParticleBeginAngle3">270</system:Double>    <system:Double x:Key = "ParticleEndAngle3">360</system:Double>    <system:TimeSpan x:Key = "ParticleBeginTime3">00:00:01.052</system:TimeSpan>    <Duration x:Key = "ParticleDuration3">00:00:00.750</Duration>    <Style x:Key = "EllipseStyle" TargetType = "Ellipse">     <Setter Property = "Width" Value = "{StaticResource ParticleRadius}"/>     <Setter Property = "Height" Value = "{StaticResource ParticleRadius}"/>     <Setter Property = "Fill" Value = "{StaticResource ParticleColor}"/>     <Setter Property = "RenderTransformOrigin" Value = "0.5, 0.5"/>     <Setter Property = "Opacity" Value = "{StaticResource ParticleOpacity}"/>    </Style>    </Grid.Resources>    <Canvas Width = "1" Height = "1" Margin="0,0,0,0">    <Canvas.Triggers>     <EventTrigger RoutedEvent = "Canvas.Loaded">     <EventTrigger.Actions>      <BeginStoryboard>      <Storyboard        BeginTime = "{StaticResource StoryBoardBeginTimeP0}"    Duration = "{StaticResource StoryBoardDuration}"    RepeatBehavior = "Forever">       <DoubleAnimation    Storyboard.TargetName = "p0"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle1}"    To = "{StaticResource ParticleEndAngle1}"    BeginTime = "{StaticResource ParticleBeginTime1}"    Duration = "{StaticResource ParticleDuration1}"/>       <DoubleAnimation    Storyboard.TargetName = "p0"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle2}"    To = "{StaticResource ParticleEndAngle2}"    BeginTime = "{StaticResource ParticleBeginTime2}"    Duration = "{StaticResource ParticleDuration2}"/>       <DoubleAnimation    Storyboard.TargetName = "p0"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle3}"    To = "{StaticResource ParticleEndAngle3}"    BeginTime = "{StaticResource ParticleBeginTime3}"    Duration = "{StaticResource ParticleDuration3}"/>      </Storyboard>      </BeginStoryboard>      <BeginStoryboard>      <Storyboard        BeginTime = "{StaticResource StoryBoardBeginTimeP1}"    Duration = "{StaticResource StoryBoardDuration}"    RepeatBehavior = "Forever">       <DoubleAnimation    Storyboard.TargetName = "p1"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle1}"    To = "{StaticResource ParticleEndAngle1}"    BeginTime = "{StaticResource ParticleBeginTime1}"    Duration = "{StaticResource ParticleDuration1}"/>       <DoubleAnimation    Storyboard.TargetName = "p1"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle2}"    To = "{StaticResource ParticleEndAngle2}"    BeginTime = "{StaticResource ParticleBeginTime2}"    Duration = "{StaticResource ParticleDuration2}"/>       <DoubleAnimation    Storyboard.TargetName = "p1"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle3}"    To = "{StaticResource ParticleEndAngle3}"    BeginTime = "{StaticResource ParticleBeginTime3}"    Duration = "{StaticResource ParticleDuration3}"/>      </Storyboard>      </BeginStoryboard>      <BeginStoryboard>      <Storyboard        BeginTime = "{StaticResource StoryBoardBeginTimeP2}"    Duration = "{StaticResource StoryBoardDuration}"    RepeatBehavior = "Forever">       <DoubleAnimation    Storyboard.TargetName = "p2"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle1}"    To = "{StaticResource ParticleEndAngle1}"    BeginTime = "{StaticResource ParticleBeginTime1}"    Duration = "{StaticResource ParticleDuration1}"/>       <DoubleAnimation    Storyboard.TargetName = "p2"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle2}"    To = "{StaticResource ParticleEndAngle2}"    BeginTime = "{StaticResource ParticleBeginTime2}"    Duration = "{StaticResource ParticleDuration2}"/>       <DoubleAnimation    Storyboard.TargetName = "p2"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle3}"    To = "{StaticResource ParticleEndAngle3}"    BeginTime = "{StaticResource ParticleBeginTime3}"    Duration = "{StaticResource ParticleDuration3}"/>      </Storyboard>      </BeginStoryboard>      <BeginStoryboard>      <Storyboard        BeginTime = "{StaticResource StoryBoardBeginTimeP3}"    Duration = "{StaticResource StoryBoardDuration}"    RepeatBehavior = "Forever">       <DoubleAnimation    Storyboard.TargetName = "p3"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle1}"    To = "{StaticResource ParticleEndAngle1}"    BeginTime = "{StaticResource ParticleBeginTime1}"    Duration = "{StaticResource ParticleDuration1}"/>       <DoubleAnimation    Storyboard.TargetName = "p3"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle2}"    To = "{StaticResource ParticleEndAngle2}"    BeginTime = "{StaticResource ParticleBeginTime2}"    Duration = "{StaticResource ParticleDuration2}"/>       <DoubleAnimation    Storyboard.TargetName = "p3"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle3}"    To = "{StaticResource ParticleEndAngle3}"    BeginTime = "{StaticResource ParticleBeginTime3}"    Duration = "{StaticResource ParticleDuration3}"/>      </Storyboard>      </BeginStoryboard>      <BeginStoryboard>      <Storyboard        BeginTime = "{StaticResource StoryBoardBeginTimeP4}"    Duration = "{StaticResource StoryBoardDuration}"    RepeatBehavior = "Forever">       <DoubleAnimation    Storyboard.TargetName = "p4"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle1}"    To = "{StaticResource ParticleEndAngle1}"    BeginTime = "{StaticResource ParticleBeginTime1}"    Duration = "{StaticResource ParticleDuration1}"/>       <DoubleAnimation    Storyboard.TargetName = "p4"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle2}"    To = "{StaticResource ParticleEndAngle2}"    BeginTime = "{StaticResource ParticleBeginTime2}"    Duration = "{StaticResource ParticleDuration2}"/>       <DoubleAnimation    Storyboard.TargetName = "p4"    Storyboard.TargetProperty = "(UIElement.RenderTransform).(RotateTransform.Angle)"    From = "{StaticResource ParticleBeginAngle3}"    To = "{StaticResource ParticleEndAngle3}"    BeginTime = "{StaticResource ParticleBeginTime3}"    Duration = "{StaticResource ParticleDuration3}"/>      </Storyboard>      </BeginStoryboard>     </EventTrigger.Actions>     </EventTrigger>    </Canvas.Triggers>    <Border  x:Name = "p0"  Background = "{StaticResource ParticleBackgroundColor}"  Opacity = "{StaticResource ParticleOpacity}">     <Border.RenderTransform>     <RotateTransform/>     </Border.RenderTransform>     <Border.RenderTransformOrigin>     <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>     </Border.RenderTransformOrigin>     <Ellipse Style = "{StaticResource EllipseStyle}">     <Ellipse.RenderTransform>      <TransformGroup>      <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>      <RotateTransform Angle = "{StaticResource ParticleOriginAngleP0}"/>      </TransformGroup>     </Ellipse.RenderTransform>     </Ellipse>    </Border>    <Border  x:Name = "p1"  Background = "{StaticResource ParticleBackgroundColor}"  Opacity = "{StaticResource ParticleOpacity}">     <Border.RenderTransform>     <RotateTransform/>     </Border.RenderTransform>     <Border.RenderTransformOrigin>     <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>     </Border.RenderTransformOrigin>     <Ellipse Style = "{StaticResource EllipseStyle}">     <Ellipse.RenderTransform>      <TransformGroup>      <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>      <RotateTransform Angle = "{StaticResource ParticleOriginAngleP1}"/>      </TransformGroup>     </Ellipse.RenderTransform>     </Ellipse>    </Border>    <Border  x:Name = "p2"  Background = "{StaticResource ParticleBackgroundColor}"  Opacity = "{StaticResource ParticleOpacity}">     <Border.RenderTransform>     <RotateTransform/>     </Border.RenderTransform>     <Border.RenderTransformOrigin>     <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>     </Border.RenderTransformOrigin>     <Ellipse Style = "{StaticResource EllipseStyle}">     <Ellipse.RenderTransform>      <TransformGroup>      <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>      <RotateTransform Angle = "{StaticResource ParticleOriginAngleP2}"/>      </TransformGroup>     </Ellipse.RenderTransform>     </Ellipse>    </Border>    <Border  x:Name = "p3"  Background = "{StaticResource ParticleBackgroundColor}"  Opacity = "{StaticResource ParticleOpacity}">     <Border.RenderTransform>     <RotateTransform/>     </Border.RenderTransform>     <Border.RenderTransformOrigin>     <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>     </Border.RenderTransformOrigin>     <Ellipse Style = "{StaticResource EllipseStyle}">     <Ellipse.RenderTransform>      <TransformGroup>      <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>      <RotateTransform Angle = "{StaticResource ParticleOriginAngleP3}"/>      </TransformGroup>     </Ellipse.RenderTransform>     </Ellipse>    </Border>    <Border  x:Name = "p4"  Background = "{StaticResource ParticleBackgroundColor}"  Opacity = "{StaticResource ParticleOpacity}">     <Border.RenderTransform>     <RotateTransform/>     </Border.RenderTransform>     <Border.RenderTransformOrigin>     <Point X = "{StaticResource RotationPointX}" Y = "{StaticResource RotationPointY}"/>     </Border.RenderTransformOrigin>     <Ellipse Style = "{StaticResource EllipseStyle}">     <Ellipse.RenderTransform>      <TransformGroup>      <TranslateTransform X = "{StaticResource StartingPointX}" Y = "{StaticResource StartingPointY}"/>      <RotateTransform Angle = "{StaticResource ParticleOriginAngleP4}"/>      </TransformGroup>     </Ellipse.RenderTransform>     </Ellipse>    </Border>    </Canvas>   </Grid>   </Border>  </ControlTemplate>  </Setter.Value> </Setter> </Style>   </ResourceDictionary>

在構建中發現,一開始在設定綁定時,寫成<SolidColorBrush x:Key = "ParticleColor" Color = "{Binding Path=FillColor}" />一直都無法綁定成功,后來查了資料,改成<SolidColorBrush x:Key = "ParticleColor" Color = "{Binding Path=FillColor,RelativeSource={RelativeSource TemplatedParent}}" /> 后成功。

4、編輯Loading.cs文件,對自定義屬性FillColor和邏輯進行編碼:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Navigation;using System.Windows.Shapes;namespace WpfControlLibraryDemo{ using System.ComponentModel; /// <summary> /// 按照步驟 1a 或 1b 操作,然后執行步驟 2 以在 XAML 文件中使用此自定義控件。 /// /// 步驟 1a) 在當前項目中存在的 XAML 文件中使用該自定義控件。 /// 將此 XmlNamespace 特性添加到要使用該特性的標記文件的根  /// 元素中: /// /// xmlns:MyNamespace="clr-namespace:WpfControlLibraryDemo" /// /// /// 步驟 1b) 在其他項目中存在的 XAML 文件中使用該自定義控件。 /// 將此 XmlNamespace 特性添加到要使用該特性的標記文件的根  /// 元素中: /// /// xmlns:MyNamespace="clr-namespace:WpfControlLibraryDemo;assembly=WpfControlLibraryDemo" /// /// 您還需要添加一個從 XAML 文件所在的項目到此項目的項目引用, /// 并重新生成以避免編譯錯誤: /// /// 在解決方案資源管理器中右擊目標項目,然后依次單擊 /// “添加引用”->“項目”->[瀏覽查找并選擇此項目] /// /// /// 步驟 2) /// 繼續操作并在 XAML 文件中使用控件。 /// /// <MyNamespace:Loading/> /// /// </summary> public class Loading : Control { static Loading() {  //重載默認樣式  DefaultStyleKeyProperty.OverrideMetadata(typeof(Loading), new FrameworkPropertyMetadata(typeof(Loading)));  //DependencyProperty 注冊 FillColor  FillColorProperty = DependencyProperty.Register("FillColor",  typeof(Color),  typeof(Loading),  new UIPropertyMetadata(Colors.DarkBlue,  new PropertyChangedCallback(OnUriChanged))  );  //Colors.DarkBlue為控件初始化默認值 } //屬性變更回調函數 private static void OnUriChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) {  //Border b = (Border)d;  //MessageBox.Show(e.NewValue.ToString()); } #region 自定義Fields // DependencyProperty屬性定義 FillColorProperty=FillColor+Property組成 public static readonly DependencyProperty FillColorProperty; #endregion //VS設計器屬性支持 [Description("背景色"), Category("個性配置"), DefaultValue("#FF668899")] public Color FillColor {  //GetValue,SetValue為固定寫法,此處一般不建議處理其他邏輯  get { return (Color)GetValue(FillColorProperty); }  set { SetValue(FillColorProperty, value); } } }}

 5、編譯,如果無誤后,可以添加WPF應用程序WpfAppLoadingTest進行測試(添加項目引用)。

打開MainWindow.xaml,將Loading控件拖放到設計界面上,如下圖所示:

 6、控件顏色修改,選中控件,在屬性欄中進行配置即可:

 7.總結

可以看到WPF自定義控件還是比較容易的,但是難點在于UI的設計,如果需要做的美觀,需要美工的參與,而且需要轉換成XAML。

以上就是WPF實現炫酷Loading控件的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日韩在线一区| 国产精品人成电影在线观看| 超碰97人人做人人爱少妇| 国产成人综合亚洲| 日韩电影在线观看永久视频免费网站| 欧美另类69精品久久久久9999| 精品亚洲永久免费精品| 国产欧美一区二区三区久久| 91po在线观看91精品国产性色| 国产伦精品一区二区三区精品视频| 在线电影av不卡网址| 久久伊人精品一区二区三区| 91九色国产视频| 97人人做人人爱| 久久精品视频在线播放| 亚洲精品国产综合区久久久久久久| 菠萝蜜影院一区二区免费| 91久热免费在线视频| 亚洲sss综合天堂久久| 久久久久久久久久国产| 日韩电影免费在线观看中文字幕| 国产一区二区丝袜| 伊人久久综合97精品| 亚洲天堂免费视频| 一区二区三区视频免费在线观看| 亚洲欧美www| 久久久久这里只有精品| 国产主播喷水一区二区| 神马久久桃色视频| 国产精品第10页| 欧美成人激情视频| 国产色婷婷国产综合在线理论片a| 亚洲丝袜一区在线| 欧美激情2020午夜免费观看| 成人午夜在线影院| 中文字幕亚洲二区| 久久av中文字幕| 国产精品久久久久99| 成人黄色午夜影院| 亚洲精品成人久久久| 国产成人精品日本亚洲专区61| 国产亚洲精品久久久优势| 亚洲欧洲一区二区三区在线观看| 国产精品999| 亚洲欧美另类国产| 国产精品成人免费电影| 精品国内自产拍在线观看| 在线免费看av不卡| 欧美午夜激情在线| 亚洲激情视频在线播放| 久久人人爽人人爽人人片亚洲| 亚洲另类图片色| 亚洲成人精品视频在线观看| 日韩精品极品在线观看播放免费视频| 51色欧美片视频在线观看| 成人在线免费观看视视频| 中文字幕无线精品亚洲乱码一区| 日韩一区av在线| 久久99国产精品久久久久久久久| 92福利视频午夜1000合集在线观看| 亚洲欧美日韩国产精品| 成人亲热视频网站| 国产精品美女主播在线观看纯欲| 亚洲色图综合网| 欧美精品videos另类日本| 尤物精品国产第一福利三区| 两个人的视频www国产精品| 中文字幕久热精品在线视频| 色综合天天狠天天透天天伊人| 中文字幕在线视频日韩| 亚洲aa中文字幕| 国产成人一区三区| 日韩大胆人体377p| 中文字幕在线视频日韩| 91在线国产电影| 国产这里只有精品| 欧美成人免费播放| 欧美成人剧情片在线观看| 亚洲最大中文字幕| 国产精品成熟老女人| 国产精品欧美日韩一区二区| 狠狠干狠狠久久| 久久全球大尺度高清视频| 日韩av日韩在线观看| 亚洲免费中文字幕| 成人免费看吃奶视频网站| 亚洲最大中文字幕| 久久影视电视剧免费网站清宫辞电视| 国产欧美精品在线播放| 国产精品一区二区久久久| 91欧美视频网站| 国产精品福利小视频| 久久久精品中文字幕| 亚洲精品久久久久久下一站| 久久在线视频在线| 亚洲三级黄色在线观看| 亚洲精品综合久久中文字幕| 中日韩午夜理伦电影免费| 成人信息集中地欧美| 日韩h在线观看| 精品国产一区二区三区久久狼5月| 亚洲电影免费在线观看| 国产精品视频区| 亚洲老板91色精品久久| 亚洲mm色国产网站| 亚洲裸体xxxx| 欧美激情第1页| 中文字幕日韩欧美在线| 欧美亚洲国产日韩2020| 久久久久久久一区二区| 国产精品久久久久久久久久ktv| 欧洲成人午夜免费大片| 高清一区二区三区四区五区| 亚洲天堂成人在线| 久久精品国产成人| 国产精品一区电影| 91精品国产综合久久久久久蜜臀| 欧美有码在线观看视频| 亚洲国产99精品国自产| 日本19禁啪啪免费观看www| 91最新在线免费观看| 久久五月情影视| 亚洲国产另类 国产精品国产免费| 国产成人精品av在线| 亚洲激情视频在线观看| 97国产在线视频| 日韩免费精品视频| 国产精品扒开腿做爽爽爽的视频| 国产精品久久久久国产a级| 亚洲精品短视频| 97国产精品久久| 国产精品久久久久久中文字| 中日韩午夜理伦电影免费| 欧美性一区二区三区| 欧美精品videos性欧美| 国产91在线视频| 亚洲精品美女久久久久| 欧美性生活大片免费观看网址| 成人免费观看a| 久久久久久久久综合| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲自拍偷拍一区| 国产亚洲精品高潮| 欧美激情高清视频| 中文日韩电影网站| 欧美老肥婆性猛交视频| 日韩电视剧免费观看网站| 欧美日韩免费在线观看| 欧美国产精品va在线观看| 亚洲男人的天堂在线| 亚洲欧美在线免费观看| 欧美激情女人20p| 秋霞成人午夜鲁丝一区二区三区| 日韩天堂在线视频| 日韩精品在线电影| 国产有码一区二区| 91精品一区二区| 国产日韩中文字幕| 亚洲free性xxxx护士白浆| 欧美国产第二页| 色婷婷久久av| 国产精品久久久久久久久免费看| 亚洲视频在线观看免费| 国产精品久久久久久中文字|