中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

全屏模式下如何處理Silverlight控件

發布時間:2021-12-03 11:08:26 來源:億速云 閱讀:136 作者:小新 欄目:編程語言

小編給大家分享一下全屏模式下如何處理Silverlight控件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

第1種方式,即應用圖片的Stretch屬性:

<Grid x:Name="LayoutRoot" Background="White"> <Image Stretch="UniformToFill" Source="/FullScreenModel;component/Koala.jpg" /> <Button Content="全屏"  Name="button1"  Click="button1_Click" /> </Grid>

Click事件代碼:

private void button1_Click(object sender, RoutedEventArgs e)       {           Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen;       }

這里主要是將Image的Stretch屬性設置為UniformToFill,這樣圖片就可以根據瀏覽器分辨率的變化而變化,這種方式在處理圖片,視頻等資源時比較方便,不過使用這種方式在插入模式下使用圖片時,你需要進行一些處理,因為若你在Image中指定Width或Height,圖片在全屏模式下會保持這個固定的大小。

第2種方式則在后臺進行處理

當處于全屏模式時,該頁面上的控件也進行變化,以Button為例。這種方式或許更貼近我們平常接觸的全屏,我們看看這部分的實現:

全屏模式下如何處理Silverlight控件

全屏模式下如何處理Silverlight控件

<Grid.RenderTransform>             <ScaleTransform ScaleX="1" ScaleY="1" x:Name="RootLayoutScaleTransform">             </ScaleTransform>         </Grid.RenderTransform>        <Button  Name="button1" Content="全屏" Height="30" Width="50" Click="button1_Click" Margin="70,170,72,100">                   </Button>

這里在UI中添加了一個名為RootLayoutScaleTransform的放大轉換,后臺代碼主要是根據插件的Resized,FullScreenChanged事件進行處理的,所以我們在構造函數中聲明。

Application.Current.Host.Content.Resized += new EventHandler(Content_Resized);  Application.Current.Host.Content.FullScreenChanged += new EventHandler(Content_Resized);

完整的代碼:

private double width;          private double height;          public double uniformScaleAmount = 1;          public MainPage()          {              InitializeComponent();               height = this.Height;               width = this.Width;              Application.Current.Host.Content.Resized += new EventHandler(Content_Resized);              Application.Current.Host.Content.FullScreenChanged += new EventHandler(Content_Resized);          }          private void button1_Click(object sender, RoutedEventArgs e)          {              Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen;          }          void Content_Resized(object sender, EventArgs e)          {              double currentWidth = Application.Current.Host.Content.ActualWidth;              double currentHeight = Application.Current.Host.Content.ActualHeight;              uniformScaleAmount = Math.Min((currentWidth / width), (currentHeight /height));              RootLayoutScaleTransform.ScaleX = uniformScaleAmount;              RootLayoutScaleTransform.ScaleY = uniformScaleAmount;          }

頁面初始化后我們先將當前插件的大小保存了下來,當單擊Button發生全屏事件時,會進行相關事件的處理,這種方式我覺得處理的更為妥善一些,程序運行的時候,如果你的界面上什么都沒有,需要設置UserControl的Width,Height屬性。

以上是“全屏模式下如何處理Silverlight控件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳江县| 永胜县| 云浮市| 晋中市| 普兰店市| 岳阳县| 枣阳市| 会同县| 和田市| 聂拉木县| 灵宝市| 屏东县| 上饶县| 循化| 定西市| 新田县| 庆阳市| 赞皇县| 中山市| 班戈县| 永宁县| 历史| 崇阳县| 姚安县| 旺苍县| 凌海市| 崇仁县| 太和县| 阿尔山市| 专栏| 余庆县| 丹江口市| 南陵县| 方山县| 定西市| 卓尼县| 汉阴县| 汝阳县| 板桥市| 同心县| 巩留县|