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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[转] Silverlight Navigation(多页面切换、传值)

發(fā)布時(shí)間:2025/3/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转] Silverlight Navigation(多页面切换、传值) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

導(dǎo)航.簡(jiǎn)單的理解可以是從一個(gè)頁(yè)面跳轉(zhuǎn)到另外一個(gè)頁(yè)面。在傳統(tǒng)的ASP.NET網(wǎng)站中這種效果很容易實(shí)現(xiàn)。而在Silverlight中我們也同樣可以,我們有兩種方法來(lái)實(shí)現(xiàn)這個(gè)效果。
???第一個(gè)選擇是使用代碼更改頁(yè)面視圖(修改容器Content屬性),移除/添加User Control來(lái)實(shí)現(xiàn)導(dǎo)航,這個(gè)方法比較簡(jiǎn)單、直接代碼量也很少。并且在這個(gè)過(guò)程中還可以加入動(dòng)畫(huà)、變形等效果。
???第二個(gè)選擇就是使用Silverlight的導(dǎo)航系統(tǒng),導(dǎo)航系統(tǒng)包含兩個(gè)主要的控件:Frame、Page。基本的效果是可以在一個(gè)Frame里面切換多個(gè)頁(yè)面(UserControl、Page)。
?? 此次先簡(jiǎn)單介紹下第一種方法。?? 簡(jiǎn)單的頁(yè)面切換效果:
?? 這個(gè)例子,將頁(yè)面分成上下兩部分,上面表示菜單,下面放置一個(gè)容器空間用于承載內(nèi)容。容器控件你可以旋轉(zhuǎn)Border、ScrollViewer、StackPanel、Grid。下面是主頁(yè)面的代碼:
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
?? ??? <RowDefinition Height="*"></RowDefinition>
?? ??? <RowDefinition Height="Auto"></RowDefinition> ??
?? <RowDefinition Height="6*"></RowDefinition>
</Grid.RowDefinitions>??
<ListBox Grid.Row="0" SelectionChanged="lstPages_SelectionChanged">
?? ?? <!--頁(yè)面列表-->
</ListBox>
<basics:GridSplitter Grid.Row="1" Margin="0 3" HorizontalAlignment="Stretch"
?? ?? ??? Height="2"></basics:GridSplitter> ???
<Border Grid.Row="2" BorderBrush="SlateGray" BorderThickness="1"
?? ?? ??? x:Name="mainFrame" Background="AliceBlue"></Border>
</Grid>
這個(gè)例子中使用Border作為容器命名為mainFrame,在頁(yè)面加載的時(shí)候先為容器加入一個(gè)頁(yè)面(為項(xiàng)目添加2個(gè)以上UserControl):
Page1 page1 = new Page1();
mainFrame.Child = page1;
這里的容器控件是多選的,你也可使用單行單列的Grid。下面為L(zhǎng)istBox加入事件代碼:
private void lstPages_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
//獲取當(dāng)前的Item
string newPageName = ((ListBoxItem)e.AddedItems[0]).Content.ToString();
//根據(jù)名稱使用反射創(chuàng)建一個(gè)UserControl實(shí)例
Type type = this.GetType();
Assembly assembly = type.Assembly;
UserControl newPage = (UserControl)assembly.CreateInstance(
type.Namespace + "." + newPageName);
//加入到容器中.
mainFrame.Child = newPage;
}

至此一個(gè)簡(jiǎn)單的頁(yè)面切換效果就OK了。

●使用根視圖(Root Visual)
上面是一個(gè)簡(jiǎn)單的例子,這個(gè)方法很常見(jiàn),但不是通用方式。它的小缺陷是整個(gè)頁(yè)面布局已經(jīng)固定死了,工具欄或頁(yè)面始終都固定在那里,那如果你想要的是一個(gè)全新的頁(yè)面就不行了。下面對(duì)這個(gè)小例子進(jìn)行一下擴(kuò)展就可以達(dá)到我們的目的了。
首先在App.xaml.cs中聲明一個(gè)Grid:
??? private Grid rootGrid = new Grid();
然后修改Appliaction_Startup事件代碼:
??? this.RootVisual = rootGrid;
??? rootGrid.Children.Add(new Page1());

這樣只能保證在初始化的時(shí)候會(huì)有一個(gè)頁(yè)面而不能導(dǎo)航,為此在App.xaml.cs代碼中加入一個(gè)靜態(tài)方法,代碼如下:
public static void Navigation(UserControl newPage)
{
//獲取當(dāng)前的Appliaction實(shí)例
App currentApp = (App)Application.Current;
//修改當(dāng)前顯示頁(yè)面內(nèi)容.
currentApp.rootGrid.Children.Clear();
currentApp.rootGrid.Children.Add(newPage);
}
這里要注意 方法的參數(shù)是UserControl。這樣在你的UserControl中即可添加如下的代碼(可以加到button事件中)進(jìn)行頁(yè)面切換了:
App.Navigation(new Page2());
new的對(duì)象是你的目標(biāo)頁(yè)面,不要寫(xiě)錯(cuò)了。就這幾句代碼又完成了咱們的目的!

●保存頁(yè)面狀態(tài)(Cache)
如果你想讓用戶在返回到歷史頁(yè)面的時(shí)候可以頁(yè)面的修改狀態(tài)比如用戶輸入的數(shù)據(jù)。首先對(duì)項(xiàng)目進(jìn)行一下小小的修改,添加一個(gè)名字叫Pages的enmu,用于保存頁(yè)面名稱以便使用字符串產(chǎn)生不必要的問(wèn)題:
public enum Pages
{
Page1,
Page2
}
下一步是在App.cs代碼中加入一個(gè)泛型集合用于保存頁(yè)面:
private static Dictionary<Pages, UserControl> pageCache = new Dictionary<Pages, UserControl>();
其中Key是Pages枚舉,Value是UserControl。然后從新定義Naviagte方法:
public static void Navigation(Pages newPage)
{
App currentApp = (App)Application.Current;
if (!pageCache.ContainsKey(newPage))
{
?? ???//根據(jù)名稱使用反射創(chuàng)建目標(biāo)頁(yè)面實(shí)例,并加入緩存
?? ???Type type = currentApp.GetType();
?? ???Assembly assembly = type.Assembly;
?? ??? pageCache[newPage] = (UserControl)assembly.CreateInstance(
?? ??? type.Namespace + "." + newPage.ToString());
}
currentApp.rootGrid.Children.Clear();
currentApp.rootGrid.Children.Add(pageCache[newPage]);
}
這樣在其他的UserControl中調(diào)用如下代碼就可以進(jìn)行切換了:
App.Navigation(Pages.Page2);

如果在頁(yè)面中放置一個(gè)文本框然后輸入值,跳轉(zhuǎn)到其他頁(yè)面再切換回來(lái)的話就會(huì)看到文本框的值依然存在,這是因?yàn)閁serControl被保存在內(nèi)存中了。
如果你進(jìn)行切換就會(huì)發(fā)現(xiàn)TextBox的值依然存在.這樣就實(shí)現(xiàn)了簡(jiǎn)單的緩存.

●頁(yè)面?zhèn)髦?#xff1a;
關(guān)于頁(yè)面?zhèn)髦滴覂H僅說(shuō)一下我的方式,當(dāng)讓網(wǎng)上也有其他的關(guān)于頁(yè)面之間傳值的方法。主要是使用獨(dú)立存儲(chǔ)的IsolatedStorageSettings對(duì)象,首先在UserControl中創(chuàng)建對(duì)象:
private IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;然后在Button事件中加入如下代碼,用于傳值:
if (!appSettings.Contains("Page2"))
?? appSettings.Add("Page2", "UserName");

OK了,在目標(biāo)頁(yè)面獲取值的方式就簡(jiǎn)單了.
if (appSettings.Contains("Page2"))
txbShowvalue.Text = "User Name: " + appSettings["Page2"].ToString();

需要注意的一點(diǎn)是這個(gè)獲取值的代碼不要寫(xiě)在頁(yè)面的構(gòu)造函數(shù)里面,有可能不會(huì)觸發(fā),原因是在上面對(duì)象已經(jīng)保存在內(nèi)存中了,但是會(huì)觸發(fā)Loaded事件,因此可以把代碼放到這個(gè)事件里面。
你也可以使用同樣的方式來(lái)給Page1傳值。OK..關(guān)于第一種頁(yè)面導(dǎo)航、傳值、簡(jiǎn)單緩存,就介紹完畢..
下篇著重說(shuō)下關(guān)于Silverlight Navigation System..
關(guān)于獨(dú)立存儲(chǔ)請(qǐng)參考:http://www.bbniu.com/forum/thread-366-1-1.html

?

?

?

此次主要說(shuō)一下如何使用Navigation System進(jìn)行導(dǎo)航。它包含了兩個(gè)重要的控件:Frame、Page。其中Frame控件是主要控件因?yàn)樗?fù)責(zé)導(dǎo)航以及顯示內(nèi)容。而Page空間是一個(gè)可選的控件,它可以使用普通的UserControl來(lái)代替,但兩者之間稍有差別,后面會(huì)簡(jiǎn)單說(shuō)一下。

1.Frame控件
Frame控件也是一個(gè)容器控件,它通過(guò)Content屬性進(jìn)行修改內(nèi)容,當(dāng)然最好是使用Navigate()方法來(lái)代替Content屬性,因?yàn)樗葧?huì)修改Content屬性也會(huì)觸發(fā)事件和保存Frame的日志(歷史記錄,更改當(dāng)前瀏覽器的地址)。下面看一個(gè)簡(jiǎn)單的例子,首先定義一個(gè)兩行一列的Grid,上面是一個(gè)包含了Frame的Border,下面是用來(lái)觸發(fā)導(dǎo)航的按鈕:
<UserControl x:Class="FramNavigation.MainPage"
?? 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:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
?? xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
?? ?? mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="480">
<Grid x:Name="LayoutRoot"> ?? ???
<Grid> ?? ?? ??
?? ?? <Grid.RowDefinitions> ?? ?? ?? ??
?? ?? ?? <RowDefinition></RowDefinition> ?? ???
?? ?? ?? <RowDefinition Height="Auto"></RowDefinition> ?? ?? ??
?? ??? </Grid.RowDefinitions>
?? ??? <Border Margin="10" Padding="10" BorderBrush="DarkOrange"
?? ?? ?? ?? ?? ?? BorderThickness="2" CornerRadius="4"> ?? ?? ?? ??
?? ?? ?? ?? <navigation:Frame x:Name="mainFrame"></navigation:Frame>
?? ??? </Border> ?? ?? ??
?? ??? <Button Grid.Row="1" Margin="5" Padding="5" HorizontalAlignment="Center"
?? ?? ?? ?? ?? ???Content="Go to Page1" Click="btnNavigate_Click"></Button> ?? ???
</Grid>
</Grid>
</UserControl>
使Frame記得添加System.Windows.Controls.Navigation.dll引用。
然后在項(xiàng)目中創(chuàng)建一個(gè)UserControl命名為Page1,并在Main.xaml.cs的按鈕事件中加入如下代碼:
mainFrame.Navigate(new Uri("/Page1.xaml", UriKind.Relative));
Uri前的“/”表示應(yīng)用程序的根目錄..不可以使用Navigate()方法訪問(wèn)應(yīng)用程序以外的頁(yè)面,比如其他網(wǎng)站的頁(yè)面。同樣也可以使用如下代碼代替Navigate()方法:
mainFrame.Content = new Page1();

如果你觀察就會(huì)發(fā)現(xiàn)前后的瀏覽器地址欄是不一樣的,你也可以使用Frame.Source屬性查看當(dāng)前Uri.
這是因?yàn)橹恍薷腃ontent屬性不會(huì)觸發(fā)Navigation事件.

2.與瀏覽器集成
當(dāng)你使用Navigate()方法更新Frame控件內(nèi)容時(shí)那么目標(biāo)的xaml頁(yè)面就會(huì)以#隔開(kāi)附加到當(dāng)前的地址中,所以前后的地址就如上圖所示的,多出了#Page1.xaml部分。
這個(gè)特點(diǎn)即有好處也有潛在的危害。本來(lái)當(dāng)你使用Frame來(lái)創(chuàng)建導(dǎo)航系統(tǒng),每個(gè)頁(yè)面都會(huì)有一個(gè)獨(dú)立的名稱標(biāo)識(shí),唯一的歷史記錄以及使用每次重新訪問(wèn)。比如當(dāng)你重新打開(kāi)瀏覽器在初始地址后面加入#Page1.xaml那么你就可以進(jìn)入到這個(gè)頁(yè)面,同樣你也可以把這個(gè)完整的地址加入到標(biāo)簽中以便下次訪問(wèn)。這個(gè)特性叫做Deep linking.因此使得Silverlight對(duì)搜索引擎是友好的。比如你可以創(chuàng)建多個(gè)HTML/ASP.NET頁(yè)面,然后讓他們指向同一個(gè)XAP,不過(guò)URI連接到不同的頁(yè)面,那么搜索引擎就會(huì)為你的程序創(chuàng)建多個(gè)索引(嘿嘿)。
這只是它的一個(gè)好處那么下面看問(wèn)題是什么:

  • 如果一個(gè)頁(yè)面中存在多個(gè)Frame控件會(huì)怎么樣?
    使用URI片段可以標(biāo)識(shí)一個(gè)頁(yè)面,但是真?zhèn)€URI中并沒(méi)有標(biāo)識(shí)Frmae,這說(shuō)明在程序中同事只有一個(gè)Frame控件在工作。(程序中包含多個(gè)Frame的做法很少見(jiàn))
    但是如果不止一個(gè)Frame控件,它們將會(huì)同時(shí)相應(yīng)瀏覽器地址,如果你重寫(xiě)URI進(jìn)行訪問(wèn)或調(diào)用Navigate()方法那么請(qǐng)求的頁(yè)面就會(huì)添加到每一個(gè)Frame中。為了避免這種情況,你需要選擇一個(gè)Frame控件來(lái)做為主控件,這個(gè)控件會(huì)受到瀏覽器歷史地址的影響,而其他的Frame則會(huì)負(fù)責(zé)跟蹤自己的導(dǎo)航而不受瀏覽器影響。為了達(dá)到這個(gè)目的你需要為每一個(gè)副Frame的JournalOwnership 屬性設(shè)置為OwnJournal,這樣的話這些Frame就只能通過(guò)代碼調(diào)用Navigate方法進(jìn)行導(dǎo)航了。下面是JournalOwnership 屬性值的說(shuō)明(或看MSDN中更詳細(xì)的介紹):

  • 如果頁(yè)面中并不存在Frame控件會(huì)怎么樣?
    使用URI訪問(wèn)多Frame的程序并不是唯一的問(wèn)題,還有一個(gè)問(wèn)題是是否能正確的處理用戶請(qǐng)求,因?yàn)橛锌赡躌oot visual中并不包含F(xiàn)rame。如果你用代碼動(dòng)態(tài)生成用戶界面。比如使用代碼創(chuàng)建Frame對(duì)象或者在進(jìn)入另外一個(gè)頁(yè)面的時(shí)候頁(yè)面中包含了一個(gè)Frame。這種情況下程序會(huì)正常運(yùn)行,不過(guò)因?yàn)闆](méi)有frame可用,URI片段會(huì)被忽略。
    為了避免此類問(wèn)題你可以簡(jiǎn)化應(yīng)用程序確保在啟動(dòng)的時(shí)候frame是可用的,并且在Application.Startup中驗(yàn)證請(qǐng)求的地址中是否含有URI片段,驗(yàn)證代碼如下:

string fragment = System.Windows.Browser.HtmlPage.Document.DocumentUri.Fragment;




3.安全問(wèn)題如何?
從另一個(gè)角度考慮,也給你的程序留了一個(gè)很多的后門(mén)。比如用戶輸入U(xiǎn)RI訪問(wèn)了一個(gè)你不想使用Navigate()方法訪問(wèn)的頁(yè)面。Silverlight本身并沒(méi)有提供措施來(lái)避免此類問(wèn)題,因此在你使用導(dǎo)航系統(tǒng)的時(shí)候潛在的也給你帶來(lái)了URI訪問(wèn)的問(wèn)題。
不過(guò)幸好你可以使用以下方法來(lái)人為避免。第一個(gè)像前面一樣設(shè)置Frame的JournalOwnership為OwnJournal,那樣就可以避免使用URL訪問(wèn)你應(yīng)用程序的任何頁(yè)面,同時(shí)地址也不會(huì)集成到瀏覽器的歷史記錄列表中。另外一個(gè)更好的方法是使用Navigating事件,這個(gè)方法可以驗(yàn)證請(qǐng)求的URI從而有選擇性的進(jìn)行導(dǎo)航,驗(yàn)證代碼如下:

void mainFrame_Navigating(object sender, System.Windows.Navigation.NavigatingCancelEventArgs e)
{
if (e.Uri.ToString().ToLower().Contains("Page1.xaml")) {
?? e.Cancel = true; }
}

這樣就可以在程序執(zhí)行Navigate()方法后來(lái)驗(yàn)證URI是否合法。從而避免用戶訪問(wèn)到禁止請(qǐng)求的頁(yè)面。

4.對(duì)歷史記錄的支持
Frame控件的導(dǎo)航也可以與瀏覽器進(jìn)行集成。你每次調(diào)用Navigate()方法,Silverlight就會(huì)添加一個(gè)地址到瀏覽器的歷史記錄中(如下圖)。使用瀏覽器的前進(jìn)/后臺(tái)按鈕或者在歷史記錄列表中選擇一個(gè)頁(yè)面都可以正常的訪問(wèn)歷史頁(yè)面。你可以復(fù)制地址,然后重新打開(kāi)瀏覽器進(jìn)行訪問(wèn),依然是可以的。這樣Silverlgiht的Appliaction.Startup事件會(huì)重新觸發(fā),并加載相應(yīng)的頁(yè)面到Frame中。



如果你在按鈕事件中連續(xù)多次調(diào)用Navigate()方法那么頁(yè)面會(huì)加載你最后一個(gè)方法訪問(wèn)的頁(yè)面,不過(guò)其他頁(yè)面會(huì)加入瀏覽器的歷史記錄中。另外需要注意一下,如果你沒(méi)有使用UriMapper設(shè)置初始內(nèi)容,那么你點(diǎn)擊后臺(tái)按鈕回到初始頁(yè)面很有可能會(huì)產(chǎn)生一個(gè)錯(cuò)誤“No XAML found at the location”.

5.URI Mapping
正如我們看到的,頁(yè)面是以URI片段方式顯示在URI中的,那么你可能不想讓用戶看到具體的頁(yè)面名稱,并且也不希望.XAML結(jié)尾讓人感覺(jué)到混淆,而使用更簡(jiǎn)單、易記的名稱。那么為了解決這個(gè)問(wèn)題可以使用URI Mapping來(lái)定義簡(jiǎn)單的URI片段。首先需要在資源中加入U(xiǎn)riMapper對(duì)象,一般是定義在App.xaml中的

<!--xmlns:navigation="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"-->
<Application.Resources>
?? ?? <navigation:UriMapper x:Key="PageMapper">
?? ?? </navigation:UriMapper>
</Application.Resources>
同時(shí)在頁(yè)面Frame控件設(shè)置屬性UriMapper:
<navigation:Frame x:Name="mainFrame" UriMapper="{StaticResource PageMapper}"></navigation:Frame>

現(xiàn)在你就可以在UriMapper中添加映射了:
<navigation:UriMapping Uri="Home" MappedUri="/Page1.xaml" />

再次訪問(wèn)頁(yè)面然后看看地址欄結(jié)尾就會(huì)顯示成#Home,對(duì)了,記得修改導(dǎo)航按鈕的事件:
mainFrame.Navigate(new Uri("Home", UriKind.Relative));

否則地址欄是不會(huì)變化的。并且在映射地址前面不再需要加入一個(gè)“/”,它同樣能正常工作并且訪問(wèn)到目標(biāo)頁(yè)面。另外一個(gè)還可以設(shè)置一個(gè)頁(yè)面作為初始頁(yè)面。
<navigation:UriMapping Uri="" MappedUri="/InitialPage.xaml" />

那么這樣的話,當(dāng)你使用后臺(tái)按鈕回到首頁(yè)就不會(huì)再出現(xiàn)剛才說(shuō)的那個(gè)“No XAML found at the location”的錯(cuò)了。現(xiàn)在是強(qiáng)制的設(shè)置初始頁(yè)面,從某種意義上講也算是Silverlight的一個(gè)BUG。
URI地址映射是支持地址欄參數(shù),在說(shuō)Page控件的時(shí)候會(huì)再專門(mén)介紹一下..
<navigation:UriMapping Uri="Home/{name}" MappedUri="/Page1.xaml?name={name}" />


6.支持自定義 前進(jìn)/后退導(dǎo)航按鈕.
我們可以設(shè)置了Frame控件的JournalOwnership屬性來(lái)確定它如何與瀏覽器集成,管理日志。如果設(shè)置成OwnJournal那么Frame將自己來(lái)管理歷史記錄,不會(huì)與瀏覽器集成。這種情況就需要你自己來(lái)提供前進(jìn)/后退功能了,一般是使用兩個(gè)按鈕來(lái)代替前進(jìn)/后退。
而如果你的程序需要支持out-ofbrowser application,那么設(shè)置自定義的前進(jìn)后臺(tái)按鈕就很有比較了,因?yàn)樗沁\(yùn)行在普通的windws窗口中的,不會(huì)有瀏覽器的導(dǎo)航按鈕,那怕你并沒(méi)有設(shè)置JournalOwnership屬性,并且你可以判斷是否是OOB來(lái)顯示你的導(dǎo)航按鈕,你可以將以下代碼添加到程序中:
if (App.Current.IsRunningOutOfBrowser)
btnNavigate.Visibility = Visibility.Visible;
這樣就可以根據(jù)是否為OOB來(lái)控制按鈕了。并且自定義按鈕你也可以加你喜歡的樣式或動(dòng)畫(huà)效果,并且還可以根據(jù)Frame的兩個(gè)屬性來(lái)判斷當(dāng)前頁(yè)面是否是第一頁(yè)/最后一頁(yè)來(lái)禁用按鈕或修改按鈕樣式:
void mainFrame_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
?? ???if (mainFrame.CanGoBack)
?? ?? ?? btnBack.Visibility = Visibility.Collapsed;
?? ???else
?? ?? ?? btnBack.Visibility = Visibility.Visible;

?? ???if (mainFrame.CanGoForward)
?? ?? ?? btnForward.Visibility = Visibility.Collapsed;
?? ???else
?? ?? ?? btnForward.Visibility = Visibility.Visible;
}

這只是判斷按鈕顯示與否。你也可以修改按鈕視覺(jué)效果或禁用它們(比如更改顏色、透明度、圖片、添加動(dòng)畫(huà)),具體怎么做就看自己喜歡了。

7.HyperlinkButton
在前面我們是使用普通按鈕來(lái)觸發(fā)導(dǎo)航事件的。一般情況下Silverlight是使用HyperlinkButton來(lái)進(jìn)行導(dǎo)航的,這個(gè)按鈕使用起來(lái)相當(dāng)?shù)暮?jiǎn)單,只要設(shè)置按鈕的NavigateUri屬性指向頁(yè)面的URI或者是在UriMapper中配置的地址都行,代碼參考如下:
<StackPanel Margin="5" HorizontalAlignment="Center" Orientation="Horizontal"> ???
?? ?? ??? <HyperlinkButton NavigateUri="/Page1.xaml" Content="Page 1" Margin="3" /> ???
?? ?? ??? <HyperlinkButton NavigateUri="/Page2.xaml" Content="Page 2" Margin="3" /> ???
?? ?? ??? <HyperlinkButton NavigateUri="Home" Content="Home" Margin="3" />
</StackPanel>


OK…..限于篇幅,就主要說(shuō)這些.這次主要說(shuō)的是使用Frame來(lái)創(chuàng)建導(dǎo)航系統(tǒng)..由于個(gè)人水平問(wèn)題,如果什么地方有錯(cuò)誤的地方,還麻煩各位提出,我會(huì)及時(shí)改正..
下次注重說(shuō)一下關(guān)于使用Page來(lái)代替UserControl以及推薦幾個(gè)不錯(cuò)的Navigation Templates?

?

此次主要是接著Frame來(lái)說(shuō)的,主要是說(shuō)一下Page控件以及使用模版.
在之前的例子中使用的是UserControl來(lái)做為頁(yè)面,但通常的話我們是使用Page控件的,或者自己繼承Page類來(lái)代替UserControl。因?yàn)镻age提供了更方便的導(dǎo)航功能以及狀態(tài)管理。其實(shí),Page類是繼承自UserControl的,然后添加了一些成員,一些可重寫(xiě)的方法和四個(gè)屬性:Title、NavigationService、NavigationContext、NavigationCacheMode。其中Titel屬性比較簡(jiǎn)單,不做多說(shuō),其他屬性在后面都會(huì)有說(shuō)到。
使用Page控件很簡(jiǎn)單,和向項(xiàng)目中添加UserControl一樣。
1.Page控件屬性介紹
每一個(gè)Page控件內(nèi)都會(huì)有一個(gè)NavigationService屬性,這個(gè)屬性就相當(dāng)于訪問(wèn)Silverlight導(dǎo)航系統(tǒng)的入口,因?yàn)樗峁┝伺cFrame對(duì)象一樣的方法和屬性(Navigate()、GoBack()、GoForward(),屬性有CanGoBack、CanGoForward、CurrentSource等)。意思就是說(shuō)在Page里面就可以進(jìn)行導(dǎo)航了..

  • this.NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));


Page類還含有一個(gè)NavigationContext屬性用來(lái)訪問(wèn)NavigationContext對(duì)象。使用這個(gè)屬性可以獲取當(dāng)前的URL,使用QueryString可以獲取URL中的參數(shù)。也就是說(shuō)你可以在跳轉(zhuǎn)頁(yè)面的時(shí)候使用地址欄參數(shù)傳值。如下:

  • string uriText = String.Format("/Product.xaml?id={0}&type={1}",productID, productType);
  • mainFrame.Navigate(new Uri(uriText), UriKind.Relative);


這樣你就可以傳兩個(gè)值到目標(biāo)頁(yè)面了 ..
然后在Priduct.xaml頁(yè)面你就可以獲取到值了:

  • int productID, type;
  • ?? ?? ?? if (this.NavigationContext.QueryString.ContainsKey("productID"))
  • ?? ?? ?? ?? productID = Int32.Parse(this.NavigationContext.QueryString["productID"]);
  • ?? ?? ?? if (this.NavigationContext.QueryString.ContainsKey("type"))
  • ?? ?? ?? ?? type = Int32.Parse(this.NavigationContext.QueryString["type"]);


??? 當(dāng)讓你還可以使用其他方式傳值,比如在存儲(chǔ)在Appliaction對(duì)象中,或者是使用獨(dú)立存儲(chǔ)都可以實(shí)現(xiàn),因?yàn)槭褂肬RL參數(shù)很容易就會(huì)被篡改..

保存頁(yè)面狀態(tài)
通常,用戶第一次進(jìn)入頁(yè)面或者是使用前進(jìn)后退按鈕切換頁(yè)面,都會(huì)重新創(chuàng)建一個(gè)對(duì)象,當(dāng)用戶離開(kāi),對(duì)象就會(huì)被釋放。這種情況下,如果用戶輸入的有信息,再回到頁(yè)面就會(huì)編程默認(rèn)值,頁(yè)面的其他成員也會(huì)初始化成默認(rèn)值。而如果可以存儲(chǔ)頁(yè)面狀態(tài)的話就不會(huì)出現(xiàn)這種情況了。
Silverlight允許使用Page.NavigationCacheMode屬性來(lái)設(shè)置存儲(chǔ)策略,這個(gè)屬性的默認(rèn)值是Disabled所以不會(huì)默認(rèn)不會(huì)存儲(chǔ)頁(yè)面。把屬性設(shè)置為Required那么頁(yè)面就會(huì)保存到內(nèi)存中。當(dāng)用戶離開(kāi)頁(yè)面再返回的時(shí)候就可以看到自己修改的內(nèi)容依然存在,不過(guò)再次回到頁(yè)面不會(huì)觸發(fā)頁(yè)面的構(gòu)造方法,所以如果你在構(gòu)造函數(shù)里寫(xiě)的有邏輯就需要注意了。不過(guò)會(huì)觸發(fā)頁(yè)面的Loaded事件。
NavigationCacheMode的另外一個(gè)值是Enabled,如果設(shè)置成這個(gè)值,那么頁(yè)面就好與Frame.CacheSize(保存頁(yè)面的數(shù)量)屬性關(guān)聯(lián),加入CacheSize屬性設(shè)置為10,當(dāng)?shù)?1個(gè)頁(yè)面存儲(chǔ)進(jìn)來(lái)的話第一個(gè)頁(yè)面就會(huì)被釋放。而NavigationCacheMode屬性設(shè)置為Required屬性頁(yè)面就不會(huì)被計(jì)算在CacheSize中。這個(gè)可以根據(jù)自己的需要進(jìn)行選擇。
Page控件的方法
??? Page類包含了幾個(gè)方法使你能更加靈活的管理導(dǎo)航。

  • OnNavigatedTo():當(dāng)頁(yè)面不再是框架中的活動(dòng)頁(yè)面時(shí)調(diào)用。
  • OnNavigatingFrom():當(dāng)頁(yè)面成為框架中的活動(dòng)頁(yè)面時(shí)調(diào)用。
  • OnNavigatedFrom():在頁(yè)面即將不再是框架中的活動(dòng)頁(yè)面時(shí)調(diào)用。



你可以使用這些方法在離開(kāi)頁(yè)面或是訪問(wèn)頁(yè)面時(shí)添加一些自己的邏輯,比如初始化一些參數(shù)或是管理其他狀態(tài)。
?? 關(guān)于Page類就說(shuō)到這里,詳細(xì)的用法與說(shuō)明可以查看MSDN..

Navigation Templates
現(xiàn)在已經(jīng)學(xué)會(huì)如何使用Frome/Page控件來(lái)創(chuàng)建具有導(dǎo)航功能的應(yīng)用程序,然后美中不足的是視覺(jué)效果還具有很多差距。不過(guò)你可以模擬別人的實(shí)例來(lái)不到完善,從而達(dá)到自己的效果。另外一個(gè)辦法是使用現(xiàn)有的模版。
如果你使用vs自帶的Silverlight Navigation Appliaction模版創(chuàng)建一個(gè)程序的話,會(huì)自動(dòng)給你創(chuàng)建一套默認(rèn)樣式。


??? 這個(gè)模版已經(jīng)可以滿足一些基本的需求:頁(yè)面的上方為導(dǎo)航按鈕,下方為內(nèi)容面板。這個(gè)是默認(rèn)模版,而Silverlight團(tuán)隊(duì)還提供了其他的幾個(gè)模版,在上一篇文章中已經(jīng)展示了效果圖,你可以在本文附件中下載。具體用法是替換Style.xaml文件就OK了..

轉(zhuǎn)載于:https://www.cnblogs.com/xixifusigao/archive/2010/01/19/1651709.html

總結(jié)

以上是生活随笔為你收集整理的[转] Silverlight Navigation(多页面切换、传值)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

成人av网址大全 | 久久免费视屏 | 波多野结衣视频在线 | 久久视频在线观看 | 国产手机视频在线观看 | 久久黄色免费 | 黄色91免费观看 | 97品白浆高清久久久久久 | 深爱五月激情网 | 天天爽夜夜爽人人爽一区二区 | 在线免费观看av网站 | 少妇性bbb搡bbb爽爽爽欧美 | 久久精品国产免费观看 | 黄色a视频免费 | 日日爽 | 国产高清专区 | 国产精品久久久久久久毛片 | 日韩一区二区三区在线观看 | 国产精品福利久久久 | 最近日本mv字幕免费观看 | 一区二区三区 中文字幕 | 久久一级电影 | 麻豆 91 在线 | 手机看片99| 少妇搡bbbb搡bbb搡aa | 国产精品大全 | 操一草| 中文字幕在线观看免费观看 | 青青河边草免费直播 | 在线观看www91 | 日韩欧在线| 国产精品欧美在线 | 深爱激情综合网 | 久草在线视频新 | 日韩欧美精品在线视频 | 在线观看成人毛片 | 欧美在线观看视频 | 天天干天天拍天天操天天拍 | 久久影院午夜论 | 西西大胆免费视频 | 欧美一级日韩免费不卡 | 亚洲黄色片在线 | 视频成人 | 色999五月色 | 亚洲天堂网站 | 欧美日韩在线观看一区二区 | 天天干天天爽 | 国产激情免费 | 欧美午夜久久 | 日韩精品首页 | 国产精品亚洲精品 | 人人爽人人爽人人爽学生一级 | 成人一级在线 | 国产亚洲精品久久久久久 | 国内一级片在线观看 | 麻豆视频在线看 | 国产97在线视频 | 四虎在线影视 | 国产精品毛片久久久久久 | 天天草天天摸 | a'aaa级片在线观看 | 欧美日韩一区三区 | 日韩精品一区不卡 | 亚洲视频 视频在线 | 免费黄色在线网站 | 免费观看一级视频 | 免费麻豆 | 久久99精品久久久久久秒播蜜臀 | 国产成人一区二区三区在线观看 | 亚洲中字幕| 成人在线观看日韩 | 国产成人av福利 | 国产精品成 | 国产一级在线看 | 在线视频 国产 日韩 | 九九免费观看全部免费视频 | 国产精品久久久久久久久久久久 | 99色在线视频 | 91精品国产自产老师啪 | 欧美性黄网官网 | 不卡的av电影 | 91亚洲精品久久久蜜桃网站 | 久久久综合香蕉尹人综合网 | 亚洲成人一二三 | 婷婷激情五月 | 国产视频久久 | 激情片av | 免费观看性生活大片3 | 免费看黄色毛片 | 久久一区二区三区日韩 | 狠狠操精品 | 在线观看黄色的网站 | 国产精彩在线视频 | 久热国产视频 | av电影 一区二区 | 在线视频区 | 精品久久久成人 | 成人在线视频观看 | 97在线公开视频 | 国产精品久久久久久久久久东京 | 国产欧美在线一区二区三区 | 欧美激情综合五月色丁香小说 | 久久精品3 | 成人在线视频论坛 | 国产精品一区二区你懂的 | 亚洲精品国偷自产在线91正片 | 在线免费观看国产视频 | 最近在线中文字幕 | 激情五月亚洲 | 超碰97免费 | 99精品一区二区三区 | 久久久久久99精品 | 伊人电影在线观看 | 97夜夜澡人人爽人人免费 | 亚洲精品美女 | 国产精品a级| 天天射天天艹 | 8x成人免费视频 | 中文字幕在线电影 | 日韩精品一区二区三区高清免费 | 99资源网 | 看片黄网站 | av短片在线观看 | 日韩网站在线免费观看 | 亚洲精品国产精品久久99 | 欧美一区二区在线免费观看 | 992tv人人网tv亚洲精品 | 特级毛片aaa | japanese黑人亚洲人4k | 亚洲天堂色婷婷 | 国精产品满18岁在线 | 国产成人一级电影 | 中文字幕在线观看视频一区二区三区 | 91网免费观看 | 久久免费国产电影 | 国产精品入口麻豆 | 亚洲视频大全 | av网站免费线看精品 | 西西大胆啪啪 | 国产成人亚洲精品自产在线 | 97超碰成人在线 | 婷婷精品国产一区二区三区日韩 | 粉嫩av一区二区三区免费 | 九九久久久久99精品 | 射射射综合网 | 日韩av在线免费看 | 日韩在线观看三区 | 99草视频在线观看 | 欧美色图p| 久久色在线观看 | 天天射天天干 | 天天干,狠狠干 | 中文字幕影片免费在线观看 | 日韩中文字幕91 | 最新中文字幕在线资源 | 欧美日韩中文字幕视频 | 天天天干 | 亚洲色图激情文学 | 亚洲综合色丁香婷婷六月图片 | 在线 视频 亚洲 | 粉嫩av一区二区三区免费 | 日韩在线中文字幕视频 | 久草在线免费看视频 | 99久久99热这里只有精品 | 丁香花中文在线免费观看 | 天天天天天天操 | 久久伊人精品一区二区三区 | 亚洲精品动漫在线 | 玖玖综合网| 国产 欧美 日产久久 | 色黄久久久久久 | 99久免费精品视频在线观看 | 99热在线这里只有精品 | 99在线观看精品 | 国产精品成人一区二区三区吃奶 | 99精品视频在线免费观看 | 欧美人体xx | 国产成人高清在线 | 国产精品精品久久久 | 99热国产在线观看 | 国产精品亚洲片夜色在线 | 国产麻豆精品久久 | 亚洲精品久久久久久国 | 日韩精品一区二区免费 | 人人揉人人揉人人揉人人揉97 | 国产精品毛片一区二区在线 | www.福利 | 在线观看精品一区 | 亚洲久在线 | 日韩在线 一区二区 | 久久久久久麻豆 | 一本一本久久a久久 | 777久久久 | 国产麻豆果冻传媒在线观看 | 激情婷婷在线观看 | 久久久久亚洲精品中文字幕 | 99欧美 | 免费a v视频| 久久久国产一区二区 | 99综合视频| 欧美视频在线二区 | 成人久久久久 | 99999精品 | 人人玩人人添人人澡超碰 | 久草资源在线 | 黄色软件网站在线观看 | 成年人av在线播放 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 日本视频久久久 | 欧美最爽乱淫视频播放 | 久久经典视频 | 中文字幕在线免费97 | 国产又粗又猛又黄 | 黄色日批网站 | 在线观看视频一区二区 | 日韩黄色一区 | 91成品人影院 | 免费看黄的视频 | 婷婷av在线 | 亚洲精品视频久久 | 九九视频在线观看视频6 | 亚洲精品午夜久久久久久久久久久 | 国产精品高清在线 | 绯色av一区 | 亚洲一区二区三区四区在线视频 | 操操操综合| 99看视频在线观看 | 国内精自线一二区永久 | 日本资源中文字幕在线 | 欧美精品久久久久久久久久白贞 | 激情开心站 | 玖玖玖国产精品 | 亚洲一本视频 | 久久综合一本 | 久久久久久久久久久久久久av | 色www精品视频在线观看 | 国产精品久久久免费 | 国产原厂视频在线观看 | 婷婷丁香在线 | 麻豆视频免费观看 | 久久久综合九色合综国产精品 | 亚洲精品网址在线观看 | 国产这里只有精品 | 99久久99久久免费精品蜜臀 | 日本黄色免费播放 | 国产精品久久久久婷婷二区次 | 亚洲精品视频免费在线观看 | 久久综合久久综合这里只有精品 | 丁香婷婷久久久综合精品国产 | 亚洲国产视频直播 | 91探花系列在线播放 | 色永久免费视频 | av中文字幕在线电影 | 欧美精品一级视频 | 久草在线资源网 | 国产一二三精品 | 欧美孕妇与黑人孕交 | 日韩午夜av电影 | www.黄色小说.com | 午夜视频色 | 欧美日韩在线视频一区 | 正在播放一区二区 | 麻豆一区在线观看 | 色先锋av资源中文字幕 | 91麻豆精品国产91久久久无需广告 | 91久久国产综合精品女同国语 | 天天撸夜夜操 | 国产一级在线 | 成人久久国产 | 国产免费叼嘿网站免费 | 国产网红在线观看 | 日韩电影久久 | 日日插日日干 | 久久av影视| 婷婷伊人综合亚洲综合网 | 国产无吗一区二区三区在线欢 | 激情五月婷婷综合 | 国产视频一二三 | 天天草天天摸 | 4438全国亚洲精品在线观看视频 | 日本中文字幕免费观看 | 在线 国产一区 | 国产精品免费不 | 色视频 在线 | 日韩精品久久中文字幕 | 97人人人 | 日日夜夜精品视频 | 综合色播 | 久久ww | 久久观看免费视频 | 欧美成人精品欧美一级乱黄 | 欧美性爽爽 | 黄色特一级| av在线免费不卡 | 国产大尺度视频 | 人人干人人干人人干 | 免费高清在线视频一区· | 日本免费久久高清视频 | 麻豆播放 | 国产 中文 日韩 欧美 | 亚洲精品福利在线观看 | 美女久久久久久久久久 | 69视频国产 | 99久热在线精品视频成人一区 | 97超碰成人 | 日韩女同一区二区三区在线观看 | 天天操夜夜操夜夜操 | 国产精品99久久久 | 亚洲一级二级 | 96国产精品视频 | 91禁在线看| 人人网av | 久久情网 | 亚洲aⅴ一区二区三区 | 国产精品美女久久久免费 | 青青河边草免费观看完整版高清 | 成人av一区二区兰花在线播放 | 成人免费中文字幕 | 久久成视频 | 97成人在线 | 日韩精品一区二区免费 | 国产一性一爱一乱一交 | 在线观看中文字幕网站 | 天天操天天是 | 91aaa在线观看 | 精品免费在线视频 | 国产在线观看黄 | 中国成人一区 | 密桃av在线| 国产免费影院 | 国产剧情一区二区在线观看 | 91亚洲精品国偷拍自产在线观看 | 欧美一二三专区 | 亚洲视频一 | 国产乱对白刺激视频在线观看女王 | 欧美性视频网站 | 日韩精品一二三 | 国产日韩一区在线 | 一区二区观看 | 在线国产福利 | 免费观看一区二区三区视频 | 人人超碰人人 | 国产一区二区视频在线 | 久久1区| 大片网站久久 | 精品一二三四在线 | 日韩一区在线免费观看 | 日韩精品中文字幕久久臀 | 国产成人在线播放 | 日日干干| 亚洲视频国产 | 99久久精品免费看国产免费软件 | 天天综合视频在线观看 | 国产亚洲免费的视频看 | 91插插影库| 精品国产一区二区三区日日嗨 | 成年在线观看 | 色av资源网 | 欧美日韩中文字幕综合视频 | 亚洲国产精品久久久 | 国产自产高清不卡 | 伊香蕉大综综综合久久啪 | 国产精品黄 | 久草网在线 | 国产一级二级三级视频 | av中文资源在线 | 不卡的av片 | 91网站在线视频 | 国产亚洲欧美日韩高清 | 亚洲一级片在线观看 | 在线成人免费 | 99精品久久久久久久久久综合 | 97网在线观看 | 天天色天天搞 | 999国内精品永久免费视频 | 久久中文精品视频 | 日韩在线免费高清视频 | 久久久久国 | 国产男男gay做爰 | 中文字幕一区二区三区四区视频 | 丁香激情综合久久伊人久久 | 国产精品成人一区二区 | 在线观看www视频 | 国产成人一区二区三区在线观看 | 丁香婷婷色| 色悠悠久久综合 | 久久精品4 | 99视频这里有精品 | 久草视频99| 欧美一区在线看 | 狠狠色丁香久久综合网 | 精品成人免费 | 久久久2o19精品 | 成年人电影毛片 | 夜夜操天天操 | 天天插天天狠天天透 | 国产视频18| 久久免费播放视频 | 国产人成在线观看 | 亚洲精品男人天堂 | 91精品人成在线观看 | 99久久精品久久久久久清纯 | 91麻豆精品国产91 | 黄色字幕网 | 成人黄色片免费 | 久久久精品二区 | 成人免费中文字幕 | 中文字幕av免费观看 | 国产在线播放一区 | 麻花传媒mv免费观看 | 亚洲日本在线视频观看 | 日韩欧美视频免费看 | 久久欧美在线电影 | 欧美精品一区二区在线观看 | 日韩免费播放 | 波多野结衣视频一区二区三区 | 久久久久综合网 | 91在线视频精品 | 992tv人人草| 毛片美女网站 | 国产精品亚洲a | 日韩一级电影在线观看 | 91在线精品视频 | 黄色app网站在线观看 | 亚洲综合在线视频 | 国内久久精品 | 五月天最新网址 | 最近更新的中文字幕 | 国产精品国产三级国产aⅴ入口 | 日韩av一区二区三区 | 97人人看| 久久久99精品免费观看 | 久久一区二区三区超碰国产精品 | 中文字幕亚洲精品日韩 | 激情综合亚洲 | 六月丁香久久 | 免费精品 | 综合久久影院 | 97手机电影网| 久久草视频 | 精品一区二区精品 | 国产黑丝一区二区 | 久草在线视频新 | 久久超碰网 | 欧美日韩高清一区 | 国产精品一区二区久久精品爱涩 | 不卡电影免费在线播放一区 | 亚洲一区二区三区miaa149 | 久久99国产精品久久99 | a在线免费观看视频 | 在线91网| 国产成人av网址 | 欧美日韩在线播放一区 | 成人免费91 | 亚洲a免费| 国产精品黄网站在线观看 | 97在线观看免费高清 | 青青河边草免费观看 | 久久久黄色 | 日韩高清在线一区二区三区 | 综合色久 | 国内精品久久久久久久久久清纯 | 国产精品人成电影在线观看 | 国产亚洲激情视频在线 | 国内三级在线观看 | 国产成a人亚洲精v品在线观看 | 免费网站色 | 婷婷在线精品视频 | 久久久免费毛片 | 狠狠色丁香婷婷综合欧美 | 色综合婷婷 | 97操操操| 免费看黄在线网站 | 久久久免费高清视频 | 天天插狠狠干 | 日韩在线观看三区 | 亚洲少妇激情 | 天天色综合三 | 欧美性色综合网 | sm免费xx网站 | 久草99| 国产一区二区三区午夜 | 久久久久久高潮国产精品视 | 在线观看黄污 | 久久免费一 | 久久久久久网站 | 国产精品久久久久久久久久久久冷 | 国产日产亚洲精华av | 日韩高清无线码2023 | 精品国产免费久久 | 91精品在线免费 | 久草99 | 国产美女精品人人做人人爽 | 骄小bbw搡bbbb揉bbbb | 9色在线视频| 亚洲精品一区二区久 | 中文区中文字幕免费看 | 久久天堂亚洲 | 久久影视一区二区 | 国产在线污 | 亚洲夜夜综合 | 国产美腿白丝袜足在线av | 国产精品 9999 | 午夜狠狠干| 亚洲精品国产综合99久久夜夜嗨 | 一区二区三区免费在线播放 | 麻豆91在线看 | 天堂av在线中文在线 | 99国产成+人+综合+亚洲 欧美 | 91视视频在线直接观看在线看网页在线看 | 中文字幕资源在线观看 | 色综合中文综合网 | 久综合网 | 日韩黄色免费在线观看 | 亚洲黄色一级视频 | 在线视频一二三 | 国产午夜三级 | 日本精品视频在线播放 | 免费激情在线电影 | av 一区二区三区四区 | av片一区二区 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 久久视奸 | 午夜精品久久久久久久99热影院 | 天天操天天色综合 | 国产一二三区av | 久久人人精 | 最新中文字幕视频 | 成片免费观看视频 | 五月婷婷狠狠 | 久久99国产精品自在自在app | 国产一级大片在线观看 | 97在线视频免费观看 | 久久久久久久看片 | 精品在线观看一区二区三区 | 国产成人久久 | 国产一二区免费视频 | 国产区精品视频 | 日韩精品一区二区三区不卡 | 久久66热这里只有精品 | 成人免费影院 | 欧美99久久| 国产精品v欧美精品 | 黄色电影小说 | 97品白浆高清久久久久久 | 在线观看免费日韩 | 99热 精品在线 | 91av精品 | 久久久久久久久国产 | av官网| 精品视频在线播放 | 日韩国产精品一区 | 在线免费观看黄色大片 | 日本韩国在线不卡 | 欧美伦理电影一区二区 | 波多野结衣一区二区三区中文字幕 | 国产福利91精品一区 | 黄色一级性片 | 亚洲一区二区精品 | av片在线观看免费 | 99在线看| 天天草夜夜 | 免费在线观看中文字幕 | 天天激情在线 | 亚洲一级片 | 福利视频一区二区 | 国产日女人 | 国产精品一区二区美女视频免费看 | 成人av免费网站 | 这里只有精彩视频 | 成+人+色综合 | 免费在线中文字幕 | 欧美巨大荫蒂茸毛毛人妖 | 久久精品视频4 | 91精品久久久久久久91蜜桃 | 99久久精品国| 波多野结衣一区二区三区中文字幕 | 久久人视频 | 麻豆精品国产传媒 | 国产日产精品久久久久快鸭 | 中文字幕首页 | 精品国产亚洲一区二区麻豆 | 国产一区av在线 | 91日韩在线视频 | 在线观看免费一级片 | 99久久精品免费看国产 | 国产黄色片免费在线观看 | 一区二区 精品 | 我要色综合天天 | 国产精品你懂的在线观看 | 久久精品永久免费 | 日本久久久精品视频 | 国产不卡一区二区视频 | 中文字幕视频免费观看 | 亚洲精品一区二区三区新线路 | 欧美另类调教 | 日韩在线一二三区 | 一区二区精品在线视频 | 亚洲天堂首页 | 亚洲无吗视频在线 | 亚洲精品一区二区网址 | 亚洲精品在线看 | 国产白浆在线观看 | 在线精品亚洲一区二区 | 91视频免费网址 | 国产黄色成人av | 激情图片区 | 亚洲一级片av | 91aaa在线观看 | 国产精品女教师 | 欧美黄色成人 | 99视频在线观看一区三区 | 久久国产亚洲精品 | 正在播放 久久 | 国产在线观看地址 | 精品黄色视 | 日p在线观看 | 国产精品丝袜 | 国产亚洲观看 | 久久久久久久影视 | 日韩二三区 | 国产成人精品在线播放 | 在线免费观看欧美日韩 | 久久影视精品 | 免费国产在线视频 | 国产精品美女久久久久久久久 | 黄色一区二区在线观看 | 最新日韩精品 | 日韩国产精品一区 | 免费观看完整版无人区 | 欧美日韩国产在线 | 亚洲视频免费 | 色综合久久精品 | 91精品国产91 | 久久综合中文字幕 | 五月综合激情网 | 91av电影在线 | 久久成人在线视频 | 国产伦精品一区二区三区照片91 | 国产999精品视频 | 久久天天躁狠狠躁亚洲综合公司 | 天天干天天干天天干天天干天天干天天干 | 在线黄色免费av | 中文字幕高清在线 | 久久国产精品99国产 | 久久精品一区二区三区中文字幕 | www.亚洲精品视频 | 九九视频在线播放 | 天天干天天射天天插 | 麻豆影视在线免费观看 | 久久天天躁夜夜躁狠狠躁2022 | 国产色在线,com | 麻豆国产在线视频 | 黄网站免费大全入口 | 在线观看亚洲国产精品 | 日日干网 | 国内精品久久久久影院一蜜桃 | 久久婷婷亚洲 | 亚洲人av免费网站 | 精品免费一区二区三区 | 国产福利精品在线观看 | av线上免费观看 | 久久美女高清视频 | 免费成人av电影 | 国产免费大片 | 国产经典 欧美精品 | 亚洲a在线观看 | 在线观看v片 | av一级片在线观看 | 天天操人| 香蕉视频在线看 | 91色视频 | 在线影院av | 国产精品毛片网 | 国产在线观 | 国产 中文 日韩 欧美 | 日韩一区二区三区在线看 | 亚洲欧美视频 | 欧美视频在线二区 | 91九色视频在线播放 | 天天干天天干 | 久热免费在线观看 | 日韩精品视频在线观看免费 | 激情综合一区 | 亚洲黄色片 | 日本xxxx.com | 久久久www成人免费精品 | 久久精品国产99 | 毛片一区二区 | 久久久久亚洲国产精品 | 四虎影视成人精品 | 9992tv成人免费看片 | 国产精品久久久久久久久免费看 | 日批在线观看 | 国产一区二区高清视频 | 日韩欧美一区二区不卡 | 国产永久免费 | 中文字幕色在线视频 | 天天爱天天 | 91成年人在线观看 | 99热最新在线 | 三级av免费看 | 亚洲精品动漫久久久久 | 免费在线播放黄色 | 五月婷婷激情六月 | 亚洲精品在线观看中文字幕 | 亚洲男男gaygayxxxgv | 日韩色视频在线观看 | 九色91在线| 日韩av在线免费看 | 夜夜操天天摸 | 精品国产99国产精品 | 欧美精品久久久久久久亚洲调教 | 国产黄在线免费观看 | 中文字幕五区 | 99精品国产一区二区三区麻豆 | 成人a免费看 | 狠狠色丁香婷婷综合久久片 | 五月天婷婷狠狠 | 欧美巨乳波霸 | 国产又粗又猛又爽又黄的视频免费 | 激情久久久久久久久久久久久久久久 | 日韩在线电影一区二区 | 国产成人精品一区二区三区在线观看 | 天天夜夜亚洲 | 欧美日韩激情视频8区 | 麻豆视频免费在线播放 | 伊人夜夜 | 久久久鲁 | 精品福利网站 | 狠狠色网| 国产 一区二区三区 在线 | 伊人久久精品久久亚洲一区 | 999国产在线 | 国产精品免费观看久久 | 欧美日韩三级 | 久久伊99综合婷婷久久伊 | 免费观看视频的网站 | 十八岁以下禁止观看的1000个网站 | 色婷婷成人网 | 日本黄色免费观看 | 欧美成人h版 | 久久久久久久久艹 | 91免费视频黄 | 国产综合香蕉五月婷在线 | 高清av网站 | 国产精品久久久久久久妇 | 奇米影视777四色米奇影院 | 久久久精品一区二区三区 | 国产高清视频免费 | 亚洲四虎影院 | 国产不卡av在线播放 | 最近的中文字幕大全免费版 | 国产中文字幕视频在线观看 | 欧美日韩一级在线 | 欧美夫妻性生活电影 | 成年人免费电影在线观看 | 18久久久久久 | 91亚色视频 | 成年人毛片在线观看 | 亚洲免费视频在线观看 | 欧美analxxxx | 国产一级大片免费看 | 婷婷爱五月天 | 五月天激情综合 | 久久精品人 | 久久99精品久久久久婷婷 | 在线你懂的视频 | 亚洲精品av中文字幕在线在线 | 午夜视频久久久 | 国产福利一区二区三区视频 | 欧美老人xxxx18 | 欧美成a人片在线观看久 | 91麻豆精品国产91久久久无限制版 | 国产专区视频在线 | 午夜在线国产 | 在线看的av网站 | 首页中文字幕 | 69av视频在线观看 | 国产中文字幕视频在线 | 福利一区二区 | 中文字幕人成一区 | 日韩精品久久久久久久电影99爱 | 国产精品视屏 | 国产精品久久久久久久久久白浆 | 中文字幕在线视频网站 | 天天综合人人 | 成人宗合网| 操久久免费视频 | 91成人精品在线 | 中文字幕在线观看亚洲 | 欧美日韩国产精品一区 | 国产成人精品亚洲 | 久草在线免费电影 | 黄污污网站 | 国产99久久久国产精品成人免费 | 亚洲精品456在线播放 | 三级小视频在线观看 | 日韩在线观看视频一区二区三区 | 96国产在线| 欧美激情精品久久久久久变态 | 久久久久久免费视频 | 色婷婷www | 欧美精品在线观看免费 | 国产不卡在线 | 精品一区二区亚洲 | 国产日产在线观看 | av 一区 二区 久久 | 国产精品18久久久久白浆 | 亚洲一级黄色片 | 国产网站色 | 天天综合网 天天 | av在线免费播放 | 人人爽久久久噜噜噜电影 | 亚洲电影一级黄 | 欧美a级片免费看 | 久久综合狠狠综合久久狠狠色综合 | 国产精品对白一区二区三区 | 91色网址 | 永久免费看av | 国产最新福利 | 久久久高清免费视频 | 欧洲av在线| 日韩色区 | 久久免费视频在线观看 | 欧美精品中文在线免费观看 | 国产高清中文字幕 | 亚洲理论电影 | 9999精品| 欧美va电影 | 91中文字幕一区 | 日韩免费在线视频 | 精品一区二区精品 | 久久久不卡影院 | 热久久视久久精品18亚洲精品 | 久久国产精品精品国产色婷婷 | 亚洲成人在线免费 | 久久五月婷婷综合 | 香蕉视频在线免费 | 成年人毛片在线观看 | 99久久精品无免国产免费 | 91最新在线观看 | 日韩三级视频在线看 | 欧美一区二区三区四区夜夜大片 | 国产精品九九九九九九 | 国产精品久久久久久麻豆一区 | 丁香五月亚洲综合在线 | 国产一级高清视频 | 久久99国产精品视频 | 97成人在线视频 | 六月丁香六月婷婷 | 日本久久精| 国产精品18久久久久久久网站 | 国产一区二区三区视频在线 | 一级黄色片网站 | 国产无套一区二区三区久久 | 99r在线视频 | 国产精品18久久久久久不卡孕妇 | 在线观看深夜视频 | 久久免费视频1 | 伊人色综合网 | 最新日韩视频在线观看 | 久久久久久久精 | 国产福利91精品一区二区三区 | 午夜电影久久 | 91在线亚洲 | 国产福利小视频在线 | 九九久久影视 | 久久免费高清 | 在线免费av网 | 日韩国产欧美在线视频 | 四虎成人精品在永久免费 | aa一级片| 去干成人网 | 国产精品毛片久久久 | 国内99视频 | av天天干 | 日韩免费在线看 | 日韩中文字幕电影 | 色.www| 在线看国产视频 | 伊人色综合久久天天网 | 免费中文字幕视频 | 五月天激情综合网 | av日韩精品| 国产无区一区二区三麻豆 | 91久久精品一区二区二区 | 中文字幕二区 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 国产专区一 | 韩国av免费在线 | 91视频亚洲| 91av网站在线观看 | 欧美成人在线网站 | 在线观看黄色的网站 | 国产精品观看在线亚洲人成网 | 人人爽人人| 黄色软件在线观看免费 | 综合天堂av久久久久久久 | 欧美国产日韩在线观看 | 亚洲国产小视频在线观看 | 国产资源| 久久视频 | 韩国三级在线一区 | 免费视频久久久久久久 | 日韩精品不卡 | 天天色天天骑天天射 | 日韩精品不卡 | 免费在线观看成人av | 色综合网 | 亚洲最大成人免费网站 | 欧美成年网站 | 亚洲特级片 | 国产精品少妇 | 久久草网站 | 黄色在线看网站 | 国产美女精彩久久 | 最近中文字幕国语免费高清6 | 亚洲精品乱码久久久久久蜜桃91 | 久久久激情视频 | 天天射天天做 | 国产一区二区三区视频在线 | 国内精品二区 | 亚洲电影av在线 | 久久五月网 | 97超碰人人看 | 四川妇女搡bbbb搡bbbb搡 | 狠狠五月婷婷 | 97av色| 二区视频在线 | 免费黄色网址大全 | 激情五月激情综合网 | 开心激情五月网 | 青青网视频 | 狠狠色丁香婷综合久久 | 精品久久一区二区三区 | 欧美日韩一区二区三区免费视频 | 在线免费观看的av | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 日本电影黄色 | 黄色tv视频 | 亚洲精选视频免费看 | 欧美性黑人 | 成年人黄色免费看 | 精品国产视频在线观看 | 黄色免费网站 | 久久男人影院 | 国产福利91精品张津瑜 | 成人av影视在线 | 成年人看片 | 国产美女免费观看 | 欧美一区二区三区免费看 | 国产一级淫片免费看 | 人人玩人人添人人澡97 | 又黄又爽又无遮挡免费的网站 | 亚洲.www| 成人免费观看视频大全 | 乱男乱女www7788 | 欧美一级日韩免费不卡 | 亚洲免费公开视频 | 丰满少妇一级 | 午夜神马福利 | 国产精品一区在线观看你懂的 | 国产精品福利久久久 | 国产九九九视频 | 欧美一级特黄aaaaaa大片在线观看 | 国产在线色视频 | 在线观看黄网 | 欧美一级黄大片 | 国产高清视频在线 | 国产精品日韩在线观看 | 亚洲国产人午在线一二区 | 日韩欧美在线一区二区 | 免费观看高清 | 亚洲久草在线视频 | 久久爱资源网 | 午夜成人免费电影 | 国产精品第一视频 | 91香蕉视频在线 | 日韩在线网址 | 手机av电影在线观看 | 久久av不卡| 丁香激情综合久久伊人久久 | 天天草天天操 | 伊人中文在线 | 久久久影视 | 午夜美女视频 | 久久久久激情视频 | 91成人网在线观看 | 九九热在线视频 | 欧美一区免费观看 | 精品一二三区 | 精品欧美一区二区精品久久 | 天天操福利视频 | 午夜av大片| 一区二区三区免费在线观看 | 国产精品免费观看久久 | 国产精品免费看久久久8精臀av |