日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

windows phone (23) ScrollViewer元素

發(fā)布時(shí)間:2025/4/5 windows 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows phone (23) ScrollViewer元素 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

ScrollViewer類表示可包含其他可見元素的可滾動(dòng)區(qū)域, 一般會(huì)用在屏幕的寬度和高度不夠用時(shí),作為一種延伸使用,參考書上稱之為滾動(dòng)條,在默認(rèn)的情況下垂直滾動(dòng)條是可見的,水平滾動(dòng)條不顯示,即 VerticalScrollBarVisibility和HorizontalScrollBarVisibility兩個(gè)屬性,這兩個(gè)屬性的值是 ScrollBarVisibility枚舉成員【作者:神舟龍】

Visible 顯示滾動(dòng)條;Hidden不顯示滾動(dòng)條;Auto 需要時(shí)顯示;Disabled 可見但是不響應(yīng)觸摸事件,這兩個(gè)屬性也正是下面會(huì)用到的,下面示例中把程序標(biāo)題給更改了,為了顯示更好的效果

xaml代碼:

  • <!--TitlePanel?包含應(yīng)用程序的名稱和頁標(biāo)題-->?
  • ????????<StackPanel?x:Name="TitlePanel"?Grid.Row="0"?Margin="12,17,0,28">?
  • ?????????????
  • ????????????<StackPanel.Resources>?
  • ????????????????<Style?x:Key="stStyle"?TargetType="TextBlock">?
  • ????????????????????<Setter?Property="TextTrimming"?Value="WordEllipsis"></Setter>?
  • ????????????????????<Setter?Property="FontSize"?Value="23"></Setter>?
  • ????????????????????<Setter?Property="Foreground"?Value="BlueViolet"></Setter>?
  • ????????????????????<Setter?Property="HorizontalAlignment"?Value="Center"></Setter>?
  • ????????????????</Style>?
  • ????????????</StackPanel.Resources>?
  • ????????????<TextBlock?x:Name="ApplicationTitle"?Text="笑一笑"?Style="{StaticResource?stStyle}"/>?
  • ????????</StackPanel>?
  • 可以看到的是我們自定義了樣式,這里定義的原則是先定義再使用,即上面代碼中的textblock 不能再樣式之上,如果這樣系統(tǒng)就會(huì)報(bào)錯(cuò);

    內(nèi)容區(qū)域的xaml代碼:

  • <!--ContentPanel?-?在此處放置其他內(nèi)容-->?
  • ????????<Grid?x:Name="ContentPanel"?Grid.Row="1"?Margin="12,0,12,0">?
  • ????????????<Grid.Resources>?
  • ????????????????<Style?x:Key="paragraphStyle"?TargetType="TextBlock">?
  • ????????????????????<Setter?Property="TextWrapping"?Value="Wrap"></Setter>?
  • ????????????????????<Setter?Property="Margin"?Value="5"></Setter>?
  • ????????????????????<Setter?Property="FontSize"?Value="19"></Setter>?
  • ????????????????</Style>?
  • ????????????</Grid.Resources>?
  • ????????????<ScrollViewer?Padding="5"?>?
  • ????????????????<StackPanel>?
  • ????????????????????<TextBlock?Style="{?StaticResource?paragraphStyle}">?
  • ???????????????????????一天中午下班,由于天氣挺好.大家就在食堂打了飯一起在外面吃飯.?
  • ????????????????????????我就問了,用什么方法修理別人最慘,大家都在一起笑談自己的看法.<LineBreak/>?
  • ?  ???????????????????一會(huì)就見我侄女打著飯來了,她開口就問:你們?cè)诹氖裁窗?我就說:如果你恨一個(gè)人,?
  • ????????????????????????你認(rèn)為用什么方法可以修理的他最慘.她張口就說:找人海扁他一頓,我就說了:?
  • ????????????????????????皮肉之傷過幾天就好了,這有什么.她又說了:找?guī)讉€(gè)人狠狠的羞辱他一番,呵呵!心靈上的創(chuàng)傷,?
  • ????????????????????????隨著時(shí)間流逝,也會(huì)慢慢的好起來的.我說不算什么?當(dāng)時(shí)她一聽,把手里的碗往花臺(tái)上一放,雙手往腰間一插,右手往上一指,?
  • ????????????????????????嘿嘿!嫁給他!我當(dāng)時(shí)無語了,她說:我用一生來折磨他還不夠嗎?<LineBreak/>?
  • ?  ??????????????????從那以后她多了一個(gè)外號(hào)叫(二莽)?
  • ????????????????????</TextBlock>?
  • ????????????????????<Line??StrokeThickness="9"?Stroke="Blue"??X1="0"?Y1="20"?X2="480"?Y2="20"></Line>?
  • ????????????????????<TextBlock?Style="{StaticResource?paragraphStyle}">?
  • ????????????????????????<Run>?一對(duì)年輕人談戀愛,男的想試探女的是否能做到守身如玉,便問女友道:“如果你深夜一人在街上走,突然來了一個(gè)男人要和你親嘴,你怎么辦?”?
  • ?????????????????????????女友答道:“我會(huì)反抗,并打他一個(gè)耳光。”?
  • ?????????????????????????男的又問:“如果又來一個(gè)喝醉酒了的男人一下子要抱住你,你怎么辦?”?
  • ?????????????????????????女友答道:“我會(huì)全力反抗,不讓他得逞。”?
  • ?????????????????????????男的聽了,高興地連連點(diǎn)頭,繼續(xù)問道:“假如又走來一個(gè)很帥的男人,向你提出那種要求,你怎么辦?”?
  • ?????????????????????????女友聽了,回答說:“你要知道,?
  • ???????????????????????</Run>?
  • ????????????????????????<Run?FontStyle="Italic">一個(gè)女人的反抗畢竟是有限的!”?</Run>?
  • ????????????????????</TextBlock>?
  • ????????????????????<Line?Stroke="Blue"?StrokeThickness="9"??X1="0"?Y1="20"?X2="480"?Y2="20"></Line>?
  • ????????????????????<TextBlock?x:Name="tb3"?Style="{StaticResource?paragraphStyle?}">?
  • ????????????????????????收到一條短信:“今日15點(diǎn)31分開始起,我老婆就要開始陪別人的老公睡啦,我還得幸福的伺候著洗漱更衣沐浴,沒辦法他帶槍來的。”看了百思不得其解,咋會(huì)有這么賤的人。后來一看發(fā)信人,我了個(gè)去,生孩子居然有這樣報(bào)喜的!?
  • ?
  • ????????????????????</TextBlock>?
  • ????????????????</StackPanel>?
  • ?????????????????
  • ????????????</ScrollViewer>?
  • ????????</Grid>?
  • 可以看到這里也有用到自定義樣式,內(nèi)外邊距分別是5,書上說這樣有利于閱讀,不過看到效果后,確實(shí)感覺不錯(cuò);代碼中用到的stackPanel默認(rèn) 為垂直分布,你可以設(shè)置Orientation="Horizontal"為水平方向?qū)ψ釉剡M(jìn)行排列;在每個(gè)段落之前都有Unicode字符“?” 表示所在行縮進(jìn)一個(gè)字符的寬度

    ?Line類

    上面代碼中還使用Line,在兩個(gè)點(diǎn)之間繪制一條直線?,需要滿足的基本屬性是X1,X2,Y1,Y2其中X1,Y1作為起點(diǎn),X2,Y2作為終點(diǎn),并以此進(jìn)行連接成一條直線;可以使用Stroke設(shè)置顏色,并使用StrokeThickness設(shè)置顯示的粗細(xì),這里為了效果,設(shè)置的比較粗;

    看效果圖吧:

    ?

    ?ScrollViewer默認(rèn)垂直是顯示的,所以效果如上,那么我們?cè)O(shè)置水平滾動(dòng)條顯示效果會(huì)如何那;直接在scrollviewer標(biāo)簽中加HorizontalScrollBarVisibility="Visible"即可,代碼不在貼出,直接來效果吧

    ?

    這里需要注意的是我們?cè)跇邮街幸呀?jīng)設(shè)置了自動(dòng)換行,但是因?yàn)槲覀冊(cè)O(shè)置水平滾動(dòng)條顯示,所以字行換行的行的概念也就沒有了;但是我想知道如果文字不換行的情況下,水平方向上顯示的文字是多長(zhǎng),事實(shí)或許并不是我們想象中的那么好

    ?

    當(dāng)滾動(dòng)條走到大概一半不到時(shí),上面的文字已經(jīng)不顯示了,所以如果文字太長(zhǎng),即使設(shè)置了顯示水平滾動(dòng)條,也不會(huì)完全顯示,這是一種極端的情況,一般也不會(huì)用到

    ?那么水平滾動(dòng)區(qū)域?qū)挾葧r(shí)多少那,加了個(gè)觸摸完成事件

  • private?void?sv1_ManipulationCompleted(object?sender,?ManipulationCompletedEventArgs?e)?
  • ???????{?
  • ???????????this.ApplicationTitle.Text?=?"水平滾動(dòng)區(qū)域?qū)挾?#xff1a;"?+?sv1.ScrollableWidth.ToString();?
  • ?
  • ???????}?
  • ?

    ?版本7.0和7.1的差別:

    ?

    行為

    Windows Phone OS 7.0 app/Windows Phone OS 7.0設(shè)備

    ?

    Windows Phone OS 7.0 or Windows Phone OS 7.1 app/Windows Phone OS 7.1?設(shè)備

    ScrollViewer?在滾動(dòng)期間在 UI?線程上更新屬性

    屬性在值更改時(shí)即更新。

    屬性在用戶舉起手指時(shí)更新,或當(dāng)用戶在任何方向拖動(dòng)、搖動(dòng),或輕擊屏幕 1/4 時(shí)更新。

    ?

    ManipulationDelta?內(nèi)拖動(dòng)時(shí)?UI?線程上引發(fā)的事件ScrollViewer

    通過?ScrollViewer?中的元素處理事件。

    由于事件處于輸入線程上,這些事件不會(huì)引發(fā)。

    ?

    ?

    ?

    ?

    第一個(gè)還好理解,第二個(gè)我的理解是因?yàn)橛袧L動(dòng),所以觸摸移動(dòng)是事件ManipulationDelta不會(huì)被引發(fā),這樣就證明了剛剛我是用該事件獲取水平滾動(dòng)寬度得到值為0,

    ?

    如果應(yīng)用程序依賴于 Windows Phone OS 7.0 行為,您可以取消性能改進(jìn)通過在與ListBox關(guān)聯(lián)的?ScrollViewer上,將ManipulationMode?屬性設(shè)置為?Control。?下面的代碼示例演示具體做法。

    <ListBox?ItemsSource="{Binding?Items}"?ScrollViewer.ManipulationMode?="Control"?Height="652"?Canvas.Top="80">

    本文轉(zhuǎn)自shenzhoulong ?51CTO博客,原文鏈接:http://blog.51cto.com/shenzhoulong/846370,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者

    ?

    總結(jié)

    以上是生活随笔為你收集整理的windows phone (23) ScrollViewer元素的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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