老司机夜插-理伦理片-理伦片免费-理伦片免费观看-理伦片免费看-理伦日韩-理论福利片-理论片第一页-理论片电影-理论片理论

金喜正规买球

logo DevExpress WinForm中文手冊

導航和視圖管理


立即下載DevExpress WinForms

 本主題解釋了如何在不同的應用程序視圖之間實現導航,以及如何構建View-ViewModel關系。

標準導航服務

DevExpress MVVM框架包括許多,您可以利用它們來實現不同應用模塊(視圖)之間的導航。

使用任何MVVM服務包括三個主要步驟:

 1.在視圖中注冊服務時可以全局注冊(它可以從任何應用程序視圖中獲得)或本地注冊(如果您打算僅從此模塊中使用它)。

2.在ViewModel中聲明一個屬性來檢索已注冊服務的實例。

C#:

public class ViewLocator : IViewLocator {
object IViewLocator.Resolve(string name, params object[] parameters) {
object viewModel = paremeters.Length==3 ? parameters[0] : null;
object parameter = parameters.Length==3 ? parameters[1] : null;
object parentViewModel = (paremeters.Length==3) ? paremeters[2] : paremeters[0] ;
if(name == nameof(CustomersView))
return new CustomersView()
//...
return null;
}
}

3.調用ViewModel中Service實例的公共API。

 例如,主應用程序的視圖有MvvmContext組件,它將主應用程序的表單(視圖)鏈接到“Form1ViewModel”ViewModel。

C#:

// View
mvvmContext1.ViewModelType = typeof(mvvmNavi.Form1ViewModel);

// ViewModel
[POCOViewModel()]
public class Form1ViewModel {
//...
}

VB.NET:

' View
mvvmContext1.ViewModelType = GetType(mvvmNavi.Form1ViewModel)

Private Sub InitializeBindings()
Dim fluent = mvvmContext1.OfType(Of Form1ViewModel)()
End Sub
End Class

' ViewModel
<POCOViewModel()>
Public Class Form1ViewModel
'...
End Class

 該應用程序還有兩個UserControl,每個都有自己的MvvmContext組件,UserControl的視圖鏈接到它相應的ViewModel。

C#:

public partial class ViewA : UserControl {
MVVMContext mvvmContext;
public ViewA() {
mvvmContext = new MVVMContext();
mvvmContext.ContainerControl = this;
mvvmContext.ViewModelType = typeof(ViewAViewModel);
}
}

public class ViewAViewModel {
}

public partial class ViewB : UserControl {
MVVMContext mvvmContext;
public ViewB() {
mvvmContext = new MVVMContext();
mvvmContext.ContainerControl = this;
mvvmContext.ViewModelType = typeof(ViewBViewModel);
}
}

public class ViewBViewModel {
}

VB.NET:

Partial Public Class ViewA
Inherits UserControl

Private mvvmContext As MVVMContext
Public Sub New()
mvvmContext = New MVVMContext()
mvvmContext.ContainerControl = Me
mvvmContext.ViewModelType = GetType(ViewAViewModel)
End Sub
End Class

Public Class ViewAViewModel
End Class

Partial Public Class ViewB
Inherits UserControl

Private mvvmContext As MVVMContext
Public Sub New()
mvvmContext = New MVVMContext()
mvvmContext.ContainerControl = Me
mvvmContext.ViewModelType = GetType(ViewBViewModel)
End Sub
End Class

Public Class ViewBViewModel
End Class

提示:上面的代碼初始化了MvvmContext組件,并設置了它們的ViewModelType屬性,只是為了舉例說明。在實際的應用程序中,建議在設計時將組件放在 Forms 和 UserControls上,并使用智能標簽菜單來設置ViewModels。

下面的例子說明了如何根據您的任務選擇和使用不同的DevExpress服務:

例1:DocumentManager選項卡

 主應用程序表單(視圖)有一個空的文檔管理器,任務是將UserControls A和B顯示為DocumentManager選項卡(文檔)。

要管理DocumentManager文檔,請使用并在主視圖中注冊它:

C#:

public Form1() {
InitializeComponent();
//. . .
var service = DocumentManagerService.Create(tabbedView1);
service.UseDeferredLoading = DevExpress.Utils.DefaultBoolean.True;
mvvmContext1.RegisterDefaultService(service);
}

VB.NET:

Public Sub Form1()
InitializeComponent()
'. . .
Dim service = DocumentManagerService.Create(tabbedView1)
service.UseDeferredLoading = DevExpress.Utils.DefaultBoolean.True
mvvmContext1.RegisterDefaultService(service)
End Sub

在主ViewModel中,實現一個屬性來檢索注冊服務的實例:

C#:

[POCOViewModel()]
public class Form1ViewModel {
protected IDocumentManagerService DocumentManagerService {
get { return this.GetService<IDocumentManagerService>(); }
}
}

VB.NET:

<POCOViewModel()>
Public Class Form1ViewModel
Protected ReadOnly Property DocumentManagerService() As IDocumentManagerService
Get
Return Me.GetService(Of IDocumentManagerService)()
End Get
End Property
End Class

 DocumentManagerService.CreateDocument和DocumentManagerService.FindDocumentById方法允許您創建和定位文檔,然后可以調用IDocument.Show方法來顯示它們。

C#:

// main ViewModel
public void CreateDocument(object id, string documentType, string title) {
var document = DocumentManagerService.FindDocumentById(id);
if (document == null) {
document = DocumentManagerService.CreateDocument(
documentType, parameter: null, parentViewModel: this);
document.Id = id;
document.Title = title;
}
document.Show();
}

VB.NET:

' main ViewModel
Public Sub CreateDocument(ByVal id As Object, ByVal documentType As String, ByVal title As String)
Dim document = DocumentManagerService.FindDocumentById(id)
If document Is Nothing Then
document = DocumentManagerService.CreateDocument(documentType, parameter:= Nothing, parentViewModel:=Me)
document.Id = id
document.Title = title
End If
document.Show()
End Sub

這個核心方法可以在各種場景中使用。

  • 創建一個帶有特定UserControl的新文檔,并在應用程序啟動時加載它:

C#:

// main ViewModel
readonly static object ViewA_ID = new object();
readonly static object ViewB_ID = new object();

public void CreateDocumentA() {
CreateDocument(ViewA_ID, "ViewA", "UserControl A");
}

public void CreateDocumentB() {
CreateDocument(ViewB_ID, "ViewB", "UserControl B");
}

// main View
var fluent = mvvmContext1.OfType<Form1ViewModel>();
fluent.WithEvent(this, "Load").EventToCommand(x => x.CreateDocumentA);

VB.NET:

' main ViewModel
Private ReadOnly Shared ViewA_ID As New Object()
Private ReadOnly Shared ViewB_ID As New Object()

Public Sub CreateDocumentA()
CreateDocument(ViewA_ID, "ViewA", "UserControl A")
End Sub

Public Sub CreateDocumentB()
CreateDocument(ViewB_ID, "ViewB", "UserControl B")
End Sub

' main View
Dim fluent = mvvmContext1.OfType(Of Form1ViewModel)()
fluent.WithEvent(Me, "Load").EventToCommand(Function(x) x.CreateDocumentA)

為每個UserControl創建一個文檔,并在啟動時加載所有這些文檔。

C#:

// main ViewModel
public void CreateAllDocuments() {
CreateDocument(ViewA_ID, "ViewA", "UserControl A");
CreateDocument(ViewB_ID, "ViewB", "UserControl B");
}

// main View
var fluent = mvvmContext1.OfType<Form1ViewModel>();
fluent.WithEvent(this, "Load").EventToCommand(x => x.CreateAllDocuments);

VB.NET:

' main ViewModel
Public Sub CreateAllDocuments()
CreateDocument(ViewA_ID, "ViewA", "UserControl A")
CreateDocument(ViewB_ID, "ViewB", "UserControl B")
End Sub

' main View
Dim fluent = mvvmContext1.OfType(Of Form1ViewModel)()
fluent.WithEvent(Me, "Load").EventToCommand(Function(x) x.CreateAllDocuments)
  • 將UI元素(例如,Ribbon按鈕)綁定到一個命令,該命令創建一個具有特定UserControl的新文檔。

C#:

// main ViewModel
public void CreateDocument(object id, string documentType, string title) {
var document = DocumentManagerService.CreateDocument(
documentType, parameter: null, parentViewModel: this);
document.Id = id;
document.Title = title;
document.Show();
}

public void CreateDocumentA() {
CreateDocument(new object(), "ViewA", "UserControl A");
}

public void CreateDocumentB() {
CreateDocument(new object(), "ViewB", "UserControl B");
}

// main View
fluent.BindCommand(bbiCreateDocA, x => x.CreateDocumentA);
fluent.BindCommand(bbiCreateDocB, x => x.CreateDocumentB);

VB.NET:

' main ViewModel
Public Sub CreateDocument(ByVal id As Object, ByVal documentType As String, ByVal title As String)
Dim document = DocumentManagerService.CreateDocument(documentType, parameter:= Nothing, parentViewModel:=Me)
document.Id = id
document.Title = title
document.Show()
End Sub

Public Sub CreateDocumentA()
CreateDocument(New Object(), "ViewA", "UserControl A")
End Sub

Public Sub CreateDocumentB()
CreateDocument(New Object(), "ViewB", "UserControl B")
End Sub

' main View
fluent.BindCommand(bbiCreateDocA, Function(x) x.CreateDocumentA)
fluent.BindCommand(bbiCreateDocB, Function(x) x.CreateDocumentB)

示例2:導航框架

 主表單(視圖)有一個空的NavigationFrame組件,該組件可以存儲多個頁面,但一次只允許用戶查看一個頁面。要用頁面填充該組件并實現導航,請使用NavigationService。

  • 全球服務注冊:

C#:

// main View
var service = NavigationService.Create(navigationFrame1);
mvvmContext1.RegisterDefaultService(service);

VB.NET:

' main View
Dim service = NavigationService.Create(navigationFrame1)
mvvmContext1.RegisterDefaultService(service)
  • 檢索Service實例的屬性:

C#:

// main ViewModel
protected INavigationService NavigationService {
get { return this.GetService<INavigationService>(); }
}

VB.NET:

' main ViewModel
Protected ReadOnly Property NavigationService() As INavigationService
Get
Return Me.GetService(Of INavigationService)()
End Get
End Property
  • 導航:

C#:

// main View
var fluent = mvvmContext.OfType<RootViewModel>();
fluent.WithEvent(mainView, "Load")
.EventToCommand(x => x.OnLoad);

// main ViewModel

public void OnLoad() {
NavigationService.Navigate("ViewA", null, this);
}

VB.NET:

' main View
Private fluent = mvvmContext.OfType(Of RootViewModel)()
fluent.WithEvent(mainView, "Load").EventToCommand(Function(x) x.OnLoad)

' main ViewModel

public void OnLoad()
NavigationService.Navigate("ViewA", Nothing, Me)

Navigate方法可以接受參數作為它的第二個參數,這允許您在導航模塊之間傳遞任何數據。DevExpress Demo Center示例演示了如何將先前活動模塊的名稱傳遞給當前選擇的視圖,注意在這個例子中,全局服務注冊允許每個子ViewModel使用這個服務的API。

示例3:情態形式

 在本例中,子視圖在其他應用程序窗口上方顯示為單獨的表單。要做到這一點,請使用WindowedDocumentManagerService服務。

  • 本地注冊:

C#:

// main View
var service = WindowedDocumentManagerService.Create(mainView);
service.DocumentShowMode = WindowedDocumentManagerService.FormShowMode.Dialog;
mvvmContext.RegisterService(service);

VB.NET:

' main View
Dim service = WindowedDocumentManagerService.Create(mainView)
service.DocumentShowMode = WindowedDocumentManagerService.FormShowMode.Dialog
mvvmContext.RegisterService(service)
  • 檢索Service實例的屬性:

C#:

// main ViewModel
protected IDocumentManagerService WindowedDocumentManagerService {
get { return this.GetService<IDocumentManagerService>(); }
}

VB.NET:

' main ViewModel
Protected ReadOnly Property WindowedDocumentManagerService() As IDocumentManagerService
Get
Return Me.GetService(Of IDocumentManagerService)()
End Get
End Property
  • 導航:

C#:

// main View
var fluent = mvvmContext.OfType<MainViewModel>();
fluent.BindCommand(showBtn, x => x.ShowAcceptDialog);

// main ViewModel
int id = 0;
public void ShowAcceptDialog() {
var viewModel = ViewModelSource.Create(() => new ViewAViewModel());
var document = WindowedDocumentManagerService.FindDocumentById(id);
if(document == null) {
document = WindowedDocumentManagerService.CreateDocument(string.Empty, viewModel: viewModel);
document.Id = id;
document.Title = "Accept Dialog";
}
document.Show();
}

VB.NET:

' main View
Dim fluent = mvvmContext.OfType(Of MainViewModel)()
fluent.BindCommand(showBtn, Function(x) x.ShowAcceptDialog)

' main ViewModel
Private id As Integer = 0
Public Sub ShowAcceptDialog()
Dim viewModel = ViewModelSource.Create(Function() New ViewAViewModel())
Dim document = WindowedDocumentManagerService.FindDocumentById(id)
If document Is Nothing Then
document = WindowedDocumentManagerService.CreateDocument(String.Empty, viewModel:= viewModel)
document.Id = id
document.Title = "Accept Dialog"
End If
document.Show()
End Sub
  • 結束情態形式:

C#:

public class ChildViewModel : IDocumentContent {
public void Close() {
// Closes the document.
DocumentOwner?.Close(this);
}
public IDocumentOwner DocumentOwner { get; set; }
public object Title { get; set; }
void IDocumentContent.OnClose(CancelEventArgs e) {
/* Do something */
}
void IDocumentContent.OnDestroy() {
/* Do something */
}
}

VB.NET:

Public Class ChildViewModel
Implements IDocumentContent

Public Sub Close()
' Closes the document.
DocumentOwner?.Close(Me)
End Sub
Public Property DocumentOwner() As IDocumentOwner
Public Property Title() As Object
Private Sub IDocumentContent_OnClose(ByVal e As CancelEventArgs) Implements IDocumentContent.OnClose
' Do something
End Sub
Private Sub IDocumentContent_OnDestroy() Implements IDocumentContent.OnDestroy
' Do something
End Sub
End Class

ViewType屬性

 如果您遵循命名約定(“ModuleX”視圖的ViewModel被稱為“ModuleXViewModel”),并且視圖/ViewModel位于相同的命名空間中,則上述示例中顯示的MVVM服務的默認使用就足夠了,否則框架將無法定位與給定ViewModule相關的視圖。要解決這個問題,需要用ViewType屬性修飾Views,來顯式地設置View-ViewModel關系。

C#:

[DevExpress.Utils.MVVM.UI.ViewType("AccountCollectionView")]
public partial class AccountsView {
// ...
}

[DevExpress.Utils.MVVM.UI.ViewType("CategoryCollectionView")]
public partial class CategoriesView {
// ...
}

[DevExpress.Utils.MVVM.UI.ViewType("TransactionCollectionView")]
public partial class TransactionsView {
// ...
}

VB.NET:

<DevExpress.Utils.MVVM.UI.ViewType("AccountCollectionView")>
Partial Public Class AccountsView
' ...
End Class

<DevExpress.Utils.MVVM.UI.ViewType("CategoryCollectionView")>
Partial Public Class CategoriesView
' ...
End Class

<DevExpress.Utils.MVVM.UI.ViewType("TransactionCollectionView")>
Partial Public Class TransactionsView
' ...
End Class

單獨程序集中的視圖

 當視圖位于單獨的程序集中或具有自定義構造函數時,ViewType屬性是不夠的。在這些情況下,請使用以下方法之一:

IViewService

 將導航服務實例轉換為DevExpress.Utils.MVVM.UI.IViewService接口。

C#:

var service = DevExpress.Utils.MVVM.Services.DocumentManagerService.Create(tabbedView1);
var viewService = service as DevExpress.Utils.MVVM.UI.IViewService;
mvvmContext1.RegisterService(service);

VB.NET:

Dim service = DevExpress.Utils.MVVM.Services.DocumentManagerService.Create(tabbedView1)
Dim viewService = TryCast(service, DevExpress.Utils.MVVM.UI.IViewService)
mvvmContext1.RegisterService(service)

之后,處理QueryView事件并根據所需的視圖類型動態分配視圖。

C#:

viewService.QueryView += (s, e) =>
{
if(e.ViewType == "View1")
e.Result = new Views.View1();
//...
};

VB.NET:

AddHandler viewService.QueryView, Sub(s, e)
If e.ViewType = "View1" Then
e.Result = New Views.View1()
End If
'...
End Sub

 要指定需要哪種視圖類型,您需要在導航ViewModel中實現相應的邏輯。例如,下面的代碼將所有可用的視圖枚舉為Modules集合中的項。

C#:

public class MyNavigationViewModel {
protected IDocumentManagerService DocumentManagerService {
get { return this.GetService<IDocumentManagerService>(); }
}
//Lists all available view types
public string[] Modules {
get { return new string[] { "View1", "View2", "View3" }; }
}
//Bind this command to required UI elements to create and display a document
public void Show(string moduleName) {
var document = DocumentManagerService.CreateDocument(moduleName, null, this);
if(document != null) {
document.Title = moduleName;
document.Show();}
}
}

VB.NET:

Public Class MyNavigationViewModel
Protected ReadOnly Property DocumentManagerService() As IDocumentManagerService
Get
Return Me.GetService(Of IDocumentManagerService)()
End Get
End Property
'Lists all available view types
Public ReadOnly Property Modules() As String()
Get
Return New String() { "View1", "View2", "View3" }
End Get
End Property
'Bind this command to required UI elements to create and display a document
Public Sub Show(ByVal moduleName As String)
Dim document = DocumentManagerService.CreateDocument(moduleName, Nothing, Me)
If document IsNot Nothing Then
document.Title = moduleName
document.Show()
End If
End Sub
End Class
控制APIs

 您可以使用導航服務管理的單個視圖控件的API。例如,如果視圖應該顯示為DocumentManager選項卡,便處理BaseView.QueryControl事件來填充文檔,View類型存儲Document.ControlName屬性值。

C#:

var service = DevExpress.Utils.MVVM.Services.DocumentManagerService.Create(tabbedView1);
mvvmContext1.RegisterService(service);

tabbedView1.QueryControl += (s, e) =>
{
if(e.Document.ControlName == "View 2")
e.Control = new Views.View2();
//...
};

VB.NET:

Dim service = DevExpress.Utils.MVVM.Services.DocumentManagerService.Create(tabbedView1)
mvvmContext1.RegisterService(service)

AddHandler tabbedView1.QueryControl, Sub(s, e)
If e.Document.ControlName = "View 2" Then
e.Control = New Views.View2()
End If
'...
End Sub
IViewLocator

 所有DevExpress導航服務都使用DevExpress.Utils.MVVM.UI.IViewLocator服務來查找和管理所需的視圖,您可以創建此服務的自定義實現并注冊它(本地或全局)來更改它與應用程序視圖的工作方式。請參閱本文了解如何實現和注冊自定義服務:services。

視圖和視圖模型生存期

 處置視圖也處置MvvmContext和ViewModel,您既可以實現IDisposable.Dispose方法,也可以將命令綁定到視圖的HandleDestroyed事件,以便在ViewModel被處置時執行操作。

C#:

// ViewModel
public ViewModel() {
// Registers a new connection to the messenger.
Messenger.Default.Register(...);
}
public void OnCreate() {
// Captures UI-bound services.
EnsureDispatcherService();
}
public void OnDestroy() {
// Destroys a connection to the messanger.
Messenger.Default.Unregister(...);
}
IDispatcherService dispatcher;
IDispatcherService EnsureDispatcherService() {
return dispatcher ?? (dispatcher = this.GetRequiredService<IDispatcherService>());
}

// View (UserControl/Form)
fluent.WithEvent(this, nameof(HandleCreated)).EventToCommand(x => x.OnCreate);
fluent.WithEvent(this, nameof(HandleDestroyed)).EventToCommand(x => x.OnDestroy);

VB.NET:

Public Sub New()
' Registers a new connection to the messenger.
Messenger.Default.Register(...)
End Sub
Public Sub OnCreate()
' Captures UI-bound services.
EnsureDispatcherService()
End Sub
Public Sub OnDestroy()
' Destroys a connection to the messanger.
Messenger.Default.Unregister(...)
End Sub
Private dispatcher As IDispatcherService
Private Function EnsureDispatcherService() As IDispatcherService
If dispatcher IsNot Nothing Then
Return dispatcher
Else
dispatcher = Me.GetRequiredService(Of IDispatcherService)()
Return dispatcher
End If
End Function

' View (UserControl/Form)
fluent.WithEvent(Me, nameof(HandleCreated)).EventToCommand(Function(x) x.OnCreate)
fluent.WithEvent(Me, nameof(HandleDestroyed)).EventToCommand(Function(x) x.OnDestroy)
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
天堂资源网 | 观看在线人成电影 | 国产免费成人在线视频 | 99久久精品免费看国产一区二区三区 | 色情的人妻味道BD完整版 | 五月婷婷在线观看视频 | 西西人体做爰大胆图片 | 成年女人色毛片免费 | 伦理片在线观看午夜伦理电影韩国 | 一区二区三区 日韩 | 99热这| 美美哒免费高清影院在线观看8 | 尤物精品国产第一福利三区 | AV午夜久久蜜桃传媒软件 | 久久国产色 | 日韩做A爰片久久毛片A片毛茸茸 | 99麻豆精品国产人妻无码 | 国产精品爽爽久久久久久竹菊 | 国产在线视频精品视频 | 无码日本邻居大乳人妻波多野结衣 | 久久99精品这里精品动漫6 | 久久久这里只有精品加勒比 | 六月丁香激情 | 日本三级网址 | 伧理片午夜伧理片 | 亚洲伦理网站 | 岳 好紧好爽再浪一点 | 国产人妻精品区一区二区三区 | 一区二区三区视频 | 国产亚洲精品97在线视频一 | 诱人的女邻居9中文观看 | 日日摸夜夜欧美一区二区 | 国产真实强被迫伦姧女在线观看 | 人妻少妇偷人无码精品AV | 91av欧美| 男人扒开女人腿桶免费视频 | xxxx亚洲| 国产精品无码AV在线观小说 | 一本大道一卡二卡入口2021 | 黄 色 免 费 网站在线观看 | 深夜福利成人 | 国产乱子夫妻XX黑人XYX真爽 | 久久精品国产2020观看福利色 | 影音先锋每日最新AV资源网 | 成年网站在线观看 | 99re6在线视频免费精品 | jiucao视频在线观看 | 色吧在线 | 生活一级毛片 | 欧美日本在线三级视频 | 耽美肉文 高h | 丁香花成人 | 最新亚洲一区二区三区四区 | 天美传媒影视在线网址 | 熟女倶楽部1011熟女倶楽部 | 亚洲精品久久无码AV片2022 | 色多多www | 国产精品看高国产精品不卡 | 欧美日本一道高清二区三区 | 精品高清1卡2卡3卡4麻豆 | 夭天色综合 | 欧美性做爰又大又粗又长 | 日本不卡免费视频新二区 | 国产成人自产拍免费视频 | 能播放女人另类ZOOZ0 | 免费黄网址 | 性满足久久久久久久久 | 中文字幕 在线 欧美 日韩 制服 | 黄色片免费网站 | 新版天堂资源中文在线 | 色婷婷六月 | 婷婷开心色四房播播 | 精品成人 | 亚洲 自拍 偷拍 另类综合图区 | 国产片国产片 | 狠狠色丁香久久综合婷婷 | 成人老司机深夜福利久久 | 午夜小网站 | 国产一国产一级毛片古装 | 国产日韩在线欧美视频 | 妺妺窝人体色WWW网站 | 国内国精产品一二三区传媒 | 久久精品国产99国产精品 | 91制片厂果冻传媒天美传媒 | 开心成人社区 | 欧美bbww| 美女免费高清观看影视大全 | 男女做哎爱过程图片 | 一区二区三区四区在线免费观看 | 午夜色情影视免费播放 | 2021年无线乱码高清播放 | 揉胸吸奶动态GIF图 肉多NP 巨H公交车情欲 | 亚洲第一黄色网 | 国产亚洲精品久久久久久久久动漫 | 蜜臀AV色欲A片无码一区 | 国产制服丝袜91在线 | 亚洲国产精品毛片∧v卡在线 | 免费在线色视频 | 一本大道AV久久综合 | 日韩欧美三区 | 亚洲日本在线免费观看 | 亚洲色妞 | 中文天堂www资源 | 91精品免费久久久久久久久 | 奇米777四色| 男女影院| 黄色成年视频 | 国产精品人妻出轨 | 久久九九久精品国产尤物 | 国产免费网站看v片在线 | 最近韩国日本免费高清观看免费 | 免费一级毛片不卡在线播放 | 99久久一区二区精品 | а8天堂资源在线官网 | 91短视频版在线观看www免费 | 来个黄色网址 | 国精一二二产品无人区免费应用 | AV片在线观看免费光看高清 | 麻豆久久 | 欧美网色| 美女午夜福利4K视频在线观看 | 97色精品视频在线观看免费 | 欧美性网站 | 国产精品久久久久毛片 | 台湾MD豆传媒一区二区 | 五月欧美激激激综合网色播 | 亚洲小格式| 成人在线免费看 | 国产视频日韩 | 纯h超级大尺度小黄文 | 亚洲区自拍 | 日韩操 | 亚洲一线二线三线品牌精华液久久久 | 免费看黄在线网站 | 99ri视频 | 国产精品国产精品国产三级普 | 国产成在线观看免费视频 | 浪货嗯啊趴下NP粗口黄暴 | 久久AV无码乱码A片无码苍井空 | 久久se视频精品视频在线 | 王梦溪1.08g ed2k | 亚洲精品久久无码AV片银杏 | 美美哒免费高清影院在线观看直播 | 精品国产午夜肉伦伦影院 | 少妇寂寞找男按摩师性M | 狼狼色丁香久久女婷婷综合 | 极品美女扒开粉嫩小泬图片 | 尹人香蕉午夜电影网 | 国产不卡高清在线观看视频 | 久久久久久久亚洲精品 | 小秘书夹得好紧太爽H大肉乳 | 国产成人福利 | 国偷自产一区二区免费视频 | 欧美成a人片免费看久久 | 九九精品久久久久久噜噜中文 | 中文字幕视频免费在线观看 | 免费国产一级 | 99re久久精品在线播放 | 日本免费一区二区三区最新vr | 艳妇臀荡乳欲伦交换AV1 | 国精产品自偷自偷综合下载 | 九九视频免费观看 | 中文字幕乱码熟女人妻水蜜桃 | 中文字幕你懂的 | 成人影视| 久久久99精品久久久 | 日本三级免费 | 夜夜夜精品视频免费 | 男人猛躁进女人毛片A片 | 亚洲三级黄色片 | 日本最新免费的一区二区 | 亚洲国产中文字幕在线视频综合 | 国产XXX69麻豆国语对白 | 好紧好爽的午夜寂寞视频 | 国产精品亚洲精品久久国语 | ACG里番全彩侵犯本子色情福利 | 成人性生交A片免费看V | 又黄又湿真实网站不付费 | 粗大挺进尤物人妻中文字幕 | 8x在线成人| 黑人大JI巴做爰呻吟视频 | 97色一色图片 | 一级毛片一片毛 | 国产午夜亚洲精品国产 | 午夜日| 狠狠撸的网站首页 | 欧美一级第一免费高清 | 黄色网免费看 | 国产免费人成在线视频视频 | 成人做爰片免费网站 | 一本色道久久综合亚洲精品 | 好男人在线观看www社区官网 | 亚洲AV久久无码精品九九九小说 | 国产精品久久毛片A片软件爽爽 | 色中色社区 | 看色情小说 | 国产福利小视频在线播放观看 | H 调教 红肿 嗯啊 跪趴 | 精品乱码卡一卡2卡三免费 精品乱码久久久久久中文字幕 | 免费在线色视频 | 91免费观看在线网址 | 国产亚洲精品视频在线网 | 亚洲精品一区国产 | 日日摸人人看97人人澡 | 色老头成人免费综合视频 | 亚洲丁香婷婷综合久久六月 | 色综合天天综合高清影视 | 日韩一区二区三区中文字幕 | 少妇真人直播免费视频 | 国产精品网站在线观看免费传媒 | 国内精品久久久久久 | 亚洲第一毛片 | 精品无码国产一区二区日本 | 成年女人免费播放影院 | 麻豆91精品91久久久 | 毛片网站免费 | 小荡货好紧好爽奶头好大视频网站 | 国产亚洲欧洲人人网 | 精品欧美一区二区在线观看 | 桃花族地址thzhdinfo | 日韩欧美三级视频 | 97一本大道波多野吉衣 | 婷婷中文| 丁香狠狠色婷婷久久综合 | 亚洲老熟女AV一区二区在线播放 | 久久中文字幕人妻AV熟女 | 国产在线不卡一区 | 美女内射毛片在线看免费人动物 | 色综合天天娱乐综合网 | 色综合亚洲欧美图片区 | 日韩免费一级a毛片在线播放一级 | 亚洲 天堂 国产在线播放 | 国产黄A三级三级三级AV在线看 | 51毛片| 国产人妻大保健私密推油按摩无码 | 中国一级毛片 | 免费新电影 | 丁香花免费观看高清电影 | 含羞草传媒一区二区三 | 99久久精品久久久 | 国产精品人妻无码久久网站 | 91香蕉影院| 超级H荡的辣文小说 | 欧美日韩精品无码免费看A片 | 五月天亚洲色图 | 九九在线精品视频 | 欧美精品 在线观看 | 电家庭影院午夜 | 亚洲精品欧美精品 | 国产精品人妻久久无码不卡 | 色播播电影 | 3d人肉蒲团之极乐 | 韩国三级日本三级香港黄 | 四虎影视国产在线观看精品 | 亚洲AV怡红院AV男人的天堂 | 黄色日韩 | 中国丰满熟女A片免费观 | 亚洲91av| 精品玖玖 | 男人都懂www深夜免费网站 | 成人亚洲色欲色一欲WWW | 美国毛片在线 | 日本三级日产三级国产三级 | 亚洲人成黄网在线观看 | 中文久久| 精品视自拍视频在线观看 | 精品四虎国产在免费观看 | 美国黄色一级毛片 | 污污免费网站 | 天天做天天爱天天大综合 | 国产肥熟女老太老妇A片 | 97人人澡人人爽人人模 | 中文字幕 欧美激情 | 最近免费视频中文字幕2018完整版 | 自偷自拍亚洲欧美清纯唯美 | 欧美成人AAA毛片 | 亚洲免费大全 | 色婷婷网 | lme伦敦金属交易所实时行情 | 秋霞无码AV久久久精品 | 色综合999 | 最近新免费韩国日本电影 | 久久亚洲人成网站 | 老司机福利在线视频 | 久久久一本波多野结衣 | 一级毛片全部免 | 好大老师好爽快点深一点动漫 | 被黑人伦流澡到高潮HNP动漫 | 国产亚洲AV综合一区二区A片 | 国产自在线观看 | 一个好妈妈7中字头强华驿 一二三影院 | 免费一级a毛片 | 三级网址在线 | 插鸡网站在线播放免费观看 | 天堂w| 丁香婷婷小说 | 亚洲精品久久片久久久久 | 91综合在线视频 | 免费成人在线电影 | WWW九九九毛片无码一区二区 | 亚瑟影院 | 男女摸下面刺激免费视频软件 | 久久久无码人妻精品无码 | 99国内精品久久久久久久 | 一级欧美一级日韩片 | 99热这里只有精品免费国产 | 一本大道卡一卡二卡三乱码 - 八 | 日本内射精品一区二区视频 | 黄污视频在线免费观看 | 国产精品一区二区免费 | 久久久国产精品无码人妻 | 日日碰狠狠躁久久躁7777 | 白洁张敏被5人玩一夜 | 小荡货腿张开给我cao免费视频 | 国产三级日本三级美三级 | 久久人人槡人妻人人玩夜色AV | 成熟少妇AV片在线观看 | 奇米在线777在线视频 | 中文字幕乱码人在线视频1区 | 三级毛片在线免费观看 | 日韩插啊免费视频在线观看 | 中文乱码35页在线观看 | 国产成人不卡亚洲精品91 | 97丨九色丨国产人妻熟女 | 久久成人黄色 | 久久精品波多野结衣 | 中文字幕精品在线视频 | 青草视频免费在线观看 | 日本一本在线播放 | 日小骚B少妇真舒服 | 精品视频在线播放 | 黑人啪啪| 搡老女人老熟妇HHD 搡老熟女老女人一区二区 搡女人真爽免费视频大全 搡女人真爽免费视频网站 骚片AV蜜桃精品一区 | 在线视频你懂得 | 777国产| 黄网站在线免费 | 人与兽黄色毛片 | 午夜www在线观看完整版视频 | 婷婷综合久久狠狠色 | 亚洲AVAV天堂AV在线网爱情 | 另类免费视频 | 人人影视高清 | 最新欧美一级视频 | 久久久久久99 | 真人插B免费视频播放 | 麻豆出品视频在线 | a天堂v| 樱花草日本在线WWW官网 | 免费国产黄网站在线观看动图 | 好大好硬好深好爽老师受不了 | 黑人大战白人欧美系列 | 新97在线超级碰碰免费视频 | 色播五月www 222uk | 欧美free嫩交hd | 99久久综合给久久精品 | 久久国产精品人妻一区二区 | 国产三级电影网 | 免费不卡毛片 | 日本免费人成黄页网观看视频 | 久久久国产成人精品 | 强奷乱码欧妇女中文字幕熟女 | 亚洲国产伦理 | 欧美精品免费看 | 久久人妻内射无码一区三区 | 在线视频一区二区三区在线播放 | 近親五十路六十被亲子中出 | 最大胆裸体人体牲交666 | 久久久久久久国产精品影院 | 日韩精品视频在线观看免费 | 97在线线免费观看视频在线观看 | 午夜免费观看视频 | 无码区国产区在线播放 | 千涩论坛| 久热精品视频在线播放 | 久久免费网 | 狠狠撸干性图片 | 被群CAO的合不拢腿H小说 | 成年视频xxxxxx在线 | 久久精品视频在这里16 | 日本黄色xxxx | 97色五月| 91精品久久久久久久久久小网站 | WWW九九九毛片无码一区二区 | 国产ts人妖系列视频网站 | 永久黄色免费网站 | 日韩一级片在线观看 | 午夜亚洲精品久久一区二区 | 四川丰满护士毛茸茸 | 日本AAAA特级毛片 | 一级毛片免费下载 | 日韩a视频 | 国产波多野结衣中文在线播放 | 偷窥国产亚洲免费视频 | 日韩精品一区二区三区在线观看l | 成人性生交A片免费看麻豆 成人性生交大片免费看中国A片 | 国产美女视频免费观看的网站 | 免费播放欧美毛片欧美AAAAA | 中日韩一卡二卡三卡四卡在线观看 | 国产乱子伦农村叉叉叉 | 日韩有码在线视频 | 91精品婷婷国产综合久久8 | 精品三级66在线播放 | 国产成人精品日本亚洲语言 | 日本韩国亚洲欧美在线 | 视频一区二区三区蜜桃麻豆 | 亚瑟在线视频 | 麻豆一区二区三区蜜桃免费 | 在线视频一区二区三区三区不卡 | 亚洲国产精品综合久久久 | 国产熟妇BBWBBWBBW歼尸 | 在线网站黄 | 精品国产中文字幕 | 国产嫖妓一区二区三区无码 | 亚洲日本va中文字幕婷婷 | 在线亚洲自拍 | 短篇H爽文小说集大全 | 日韩成人在线视频 | 青青青视频蜜桃一区二区 | 日本在线有码电影网站 | 操 美女视频 免费网站 | 看全黄大色黄大片老人做 | 无码乱人伦一区二区亚洲 | 夜夜骑夜夜操 | 日本一道人妻无码一区在线 | 99re最新| 男女边摸边吃奶边做爰动漫 | 丁香花色情成人网站 | 狠狠狠色丁香婷婷综合久久88 | 一级黄色毛片免费看 | 我爱成人网 | 在线欧美一区 | 久久久久久国产a免费观看黄色大片 | 激情内射日本一区二区三区 | 午夜欧美艳情视频免费看 | 国产免费又色又爽又黄的小说 | 能看的黄色网址 | 国产美女视频一区二区三区 | 熟女人妻 中文字幕在线 | 999久久国产精品免费人妻 | 2024色情在线无码 | 性欧美巨大极品videos | 国产麻豆精品久久一二三 | 欧亚美性色欧美性A片 | 亚1州区2区3区产品乱码站 | 亚洲国产精品二区久久 | 亚洲精品久久久久久中文 | 日本高清在线视频www | 国产亚洲精品字幕在线观看 | 欧美日韩伦理 | 八先锋资源 8xfzy.com | 免费精品国产自产拍在线观看图片 | 免费啪视频观看视频 | 99re8在线精品免费观看 | 动漫成年美女黄漫网站 | 看电影的网址 | 三级毛片在线免费观看 | 日韩A片无码一区二区三区电影 | 男女啪啪抽搐高潮动态图 | 无码人妻丰满熟妇A片护士电影 | 永久免费看成人A片在线播放 | 老头老太tubebbbbxxxxhd | www..com黄| 99久久免热在线观看 | 日日摸天天摸人人看 | 97国产精华最好的产品在线 | 免费啪视频在线观看视频久18 | 新四房播播| 欧美中文字幕 | 黄到下面流水的爽文很污的情话 | 最近电影大全免费 | 伦理电影网 | 欲女春潮bd | 在线午夜福利视频免费 | 色爱影院| 国产成人高清视频免费播放 | 亚洲电影在线观看高清影院 | 狠狠操夜夜 | 日本公妇里乱片A片免费 | 欧美中文字幕一区二区三区 | 欧美另类网| 91.xxx.高清在线 | 日本久热 | 国自产拍偷拍精品啪啪色 | a级毛片免费高清毛片视频 a级毛片免费 | 亚洲国产在 | 欧美三级免费网站 | 91网站在线看 | 国产精品色情国产三级小说 | 成人网站免费大全日韩国产 | 薄冰电视剧全集40集免费观看 | 国产精品爱久久久久久久小说 | 亚洲偷自拍国综合 | 乱码1乱码2美美哒 | 波多野结衣中文字幕教师 | 无码AV久久久久久久久 | 樱花草在线观看播放视频www | 99视频精品全部免费 在线 | 久久精品免费大片国产大片 | 黄色成人在线观看 | 久久精品国产亚洲AV蜜臀 | 伊人久久大香线蕉综合网站 | 人人做人人爽人人爱秋霞影视 | 日本黄色免费网站 | 色视频高清在线观看 | 亚洲成熟女人毛毛耸耸多 | 又长又大又粗又硬3p免费视频 | 亚洲欧美日韩中字视频三区 | 怡红院老司机 | 天天做天天爱夜夜爽毛片毛片 | 一本到午夜92版福利 | japanxxxxhd奶水 | 国产日本一区二区三区 | 国产精品扒开做爽爽爽的视频 | 中文字幕在线不卡视频 | 午夜精品免费 | 伊人最新网址 | 插影院 | 久久成人国产精品一区二区 | 丰满女邻居做爰BD | 亚洲欧洲日韩国产一区二区三区 | 麻豆视频国产剧情演绎 | 国产人妻人伦精品1国产 | 国产精品人妻一区二区99 | 久久久亚洲精品国产 | 日日碰狠狠躁久久躁96 | 清纯校花挨脔日常H惩罚视频 | 国产免费人妻一区二区三区 | 在线天堂网 | 男子扒开美女尿口做羞羞的事 | 最近最好看2019年中文字幕 | 亚洲一区二区三区在线免费观看 | 国产人妻人伦精品836700 | 亚洲 激情 小说 另类 欧美 | 日产免费线路一页二页 | 99re在线播放视频 | 悠悠资源| 少妇特黄A片一区二区三区免费看 | 一女多男两根同时进去TXT | 日本成人免费在线视频 | www.伊人网| 麻豆精品人妻一区二区三区蜜桃 | 亚洲欧美日韩高清一区二区三区 | 国产在线不卡免费播放 | 亚洲色欲色欲综合网站 | 亚洲日本一区二区一本一道 | 最近免费韩国日本HD中文字幕 | 欧美另类专区 | 国产V片在线播放免费观看大全 | 国产内射爽爽大片 | 免费观看羞羞的事情网站 | 性一交一乱一伦一色一情 | 日本少妇内射视频播放舔 | 亚洲精品久久久无码AV片软件 | 亚洲一区二区三区四区五区六区 | 亚洲精品美女久久久久99 | 91香蕉成人免费网站 | 一区二区亚洲精品国产精华液 | 国产理论视频 | 欧美肥穴 | 国产无遮挡A片又黄又爽漫画 | 欧美日韩无 | 91久久线看在观草草青青 | 国产又硬又粗进去好爽A片软件 | 四虎福利| 果冻传媒和91制片厂网站软件 | 韩日午夜在线资源一区二区 | 美女扒开腿让男人桶爽APP免费看 | 伦理片 a在线线版韩国 | 午夜寂寞影视 | 99在线免费视频 | 欧美日韩乱妇高清免费 | 国产永久一区二区三区 | 亚洲国产免费 | 99re热这里只有精品视频 | 2018天天干天天操 | 韩剧你是我的命运 | 亚洲精品第一页中文字幕 | 欧美18videosex性欧美乱任 | 天天综合色天天综合 | 欧美日本一区二区三区生 | 黄页网站在线观看免费 | 日韩卡二卡三卡四卡永久入口 | 翁公的粗大挺进我的密道 | 麻豆文化传媒网站入口 | 韩国成人理伦片免费播放 | 国产九九精品 | 天堂8在线天堂资源在线 | 久久精品亚洲热综合一本 | 久草视频在线资源 | 日本无码一区二区三区不卡毛片 | 人妻AV久久一区波多野结衣 | 国产福利视频在线精品 | 一区三区在线专区在线 | 精产国品一二三产品麻豆 | 中文字幕观看 | 兽交bt| 一个人看的在线www高清视频 | 免费国自产拍精品视频 | 久久久99精品久久久久久 | 色欲人妻AV久久无码精品 | 狠狠色噜噜狠狠狠狠91 | 一级黄色免费网站 | 夜色99视频多人聊天室 | 日日碰狠狠躁久久躁综合网 | 人妻超级精品碰碰在线97视频 | 杨紫好深啊再用力一点 | 免费无毒a网站在线观看 | 欧美黄色大片免费观看 | 最近日本中文字幕免费完整 | 一区精品在线 | 成人免费播放视频20242024 | 亚洲精品乱码久久久久久日本麻豆 | 国产亚洲欧美日韩综合综合二区 | 韩国在线无码中文字幕 | 天天操天天艹 | 制服a片 | 亚洲色欲AV无码乱码国产精品 | 在线不欧美 | 国产三级在线免费观看 | 最新中文字幕日本 | 亚洲天堂2014 | 四虎最新紧急更新地址 | 四房qvod | 免费观看又色又爽又黄的校园 | 手机看片久日韩 | 日日夜夜综合 | 六月丁香久久 | 一级黄色a视频 | 欧美影院入口 | 99视频在线观看视频 | 国产成人精品午夜 | 色网站导航| 99在线在线视频观看 | 自拍亚洲在线播放视频 | 91在线精品中文字幕 | 国产xxxx做受性欧美88 | 国产在线一区二区三区四区 | 黄网久久 | 亏亏插曲叫疼的免费的视频 | 国内乱码一线二线三线 | 看亚洲a级一级毛片 | 中文字幕5566看片资源 | 午夜影院在线费看 | 欧亚美性色欧美性A片 | caoporn 视频| 自拍 偷拍 亚洲 欧美 另类 | 国产一性一交一伦一A片小说 | 真人做人试看120分钟 | 麻豆国产自制在线观看 | 免费国自产拍精品视频 | 永久免费观看的黄网站 | 欧美做爰免费大片视频 | 韩国理论片中文线播放最新 | 吉泽明步 超m自缚痴女 | 国产精品久久久久久影视 | 日韩做A爰片久久毛片A片毛茸茸 | 国产三级做爰在线播放 | 欧美国产日韩综合无码 | 亚洲一级香蕉视频 | 日韩精品无码一区AAA片 | 女人高潮内射99精品 | 双性少爷挨脔日常H惩罚H | 黄色网页在线播放 | 福利视频二区 | 色欲AV国产精品一区二区 | 日本五月天婷久久网站 | 国产免费网址 | 精品免费看一区二区三区A片 | 色综合久久丁香婷婷 | 国产精品V无码A片在线看小说 | 亚洲乱色熟女一区二区三区蜜臀 | 毛片内射久久久一区 | 精品乱码久久久久久中文字幕 | 一级毛片特级毛片黄毛片 | 亚洲狼人伊人中文字幕 | 亚州少妇无套内射激情视频 | 丁香午夜婷婷 | 日本韩无专砖码高清 | 亚洲日韩精品AV中文字幕 | 亚洲精品做爰无码片麻豆 | 丝袜性爱视频 | www天堂在线 | 午夜免费无码福利视频麻豆 | 久久精品www | 中国老少配video | 一个人看的免费视频www免费 | 国产亚洲欧美日韩综合综合二区 | 国产91青青成人a在线 | 免费阿v网站在线观看g | 亚洲人成www在线播放 | aaaaaa级特色特黄的毛片 | 精品国产美女AV久久久久 | 最近韩国中文字幕更新 | 波多野结衣免费免费视频一区 | 免费看的黄色网址 | 久见久热 这里只有精品 | 欧美一卡二卡三卡四卡 | 一级毛片国产 | 久久久黄色大片 | 亚洲国产精品久久久天堂 | 欧美日本韩国 | 又硬又粗进去好爽A片66 | 2024一本久道久久综合狂躁 | www.黄色在线| 色秀影院 | 人碰人碰人成人免费视频 | 欧美日本一区二区三区 | 伦韩国理片在线观看 | 亚洲天堂久久精品成人 | 久久国产这里只精品免费 | 午夜时刻免费入口 | 天天噜夜夜噜 | 日韩一本在线中文字幕 | 五月婷婷六月婷婷 | 日本中文字幕有码在线视频 | 久久一级视频 | 五月天丁香久久 | 日本小视频免费 | 九九热线有精品视频86 | 欧美日韩综合无码中文字幕 | 欧美天天视频 | 99久久精品国产免看国产一区 | 国产精品乱码久久久久久软件 | 久久尹人 | 欧美四房播播 | 午夜理论在线观看不卡大地影院 | 亚洲男人97色综合久久久 | 国产精品.XX视频.XXTV | 亚洲精品无码一区二区三区网雨 | 99re6在线观看| 麻豆传播媒体2023最新网站 | 日本高清色视频www 日本高清色片 | 欧美高清视频看片在线观看 | 亚洲欧美精品一中文字幕 | 精品无人区麻豆乱码1区2区 | 一个人免费视频观看在线www | 啪啪内射少妇20241027 | 熟女老妇久久视频 | 波多野结衣家教老师 | 老司机精品99在线播放 | 翁熄性放纵交换39章小莹 | 国产精品人妻免费精品 | A国产一区二区免费入口 | 久久久久久久久国产 | 永久免费看A片在线直播 | av在线观看地址 | 岛国三级 | 欧美日韩资源 | 亚洲福利天堂 | 被伴郎的内捧猛烈进出H | 99久久成人| av岛国小电影在线观看 | 全免费a级毛片免费看视频免 | 国产人妻久久久精品麻豆 | 亚洲国产精品天堂在线播放 | 免费的成人电影 | 十八种看黄禁用软件APP入口 | 黄色免费在线网站 | 久久久久久久久久免观看 | 日本中文字幕高清 | 亚洲中文无码永久免费 | 欧美综合区自拍亚洲综合图 | 亚洲 暴爽 AV人人爽日日碰 | 五月天福利视频 | 97亚洲狠狠色综合蜜桃 | 插得好爽 | 色欲AV亚洲午夜精品无码 | 福利在线国产 | 国产SUV精二区69 | 丁香花在线视频观看免费 | 中字幕视频在线永久在线观看免费 | 日本激情网址 | 男女毛片免费视频看 | 日韩一卡二卡三卡四卡免费观在线 | 成人亚洲A片V一区二区三区日本 | 美女解开胸衣露出奶头的游戏 | 亚洲一级黄色毛片 | 免费一级欧美大片视频在线 | 亚洲自偷自偷图片在线高清 | 成人乱人乱一区二区三区 | 99精品免费久久久久久久久日本 | 日本护士xxxx在线播放 | 国精产品一区一区三区M | 嫩B人妻精品一区二区三区 嫩草AV久久伊人妇女 | 国产SUV精品一区二AV18 | 免费一级毛片不卡在线播放 | 电家庭影院午夜 | xxxx免费| 无码做爰全过程免费的床震 | 九九精品久久 | 国色天香精品卡一卡二卡三二百 | 免费女人18a级毛片视频 | 无码人妻丰满熟妇A片护士M | 一女多男nP现代高H 一区二区三区好的精华液杨朝越 | 国产a不卡片 | 欧美精品一卡二卡 | 国产三级精品三级在线观看 | 西部矿业集团有限公司 | 色网址123大全图片 色网址大全123 亚洲 |