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

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

生活随笔

當(dāng)前位置: 首頁(yè) >

使silverlight适应IE窗口大小的方法

發(fā)布時(shí)間:2023/12/9 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使silverlight适应IE窗口大小的方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
??? Pete Brown在它的BLOG中提到了一個(gè)按自定義比例使用silverlight適應(yīng)IE窗口大小的方法

??? 原文如下:How to Resize a Silverlight 2 App and Keep the Same Aspect Ratio????????????????

??? 其核心代碼如下(
Xaml):

<UserControl?x:Class="PeteBrown.SilverlightScalingExample.Page"
????xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
????xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
????
>
???
????
<Grid?x:Name="LayoutRoot"
??????????Background
="Cornsilk"?ShowGridLines="True"
??????????Width
="400"?Height="300"
??????????RenderTransformOrigin
="0.5?0.5">
???????
????????
<Grid.RenderTransform>
????????????
<ScaleTransform?x:Name="PageScale"?ScaleX="1"?ScaleY="1"/>
????????
</Grid.RenderTransform>
???????

????
</Grid>
</UserControl>


public?partial?class?Page?:?UserControl
{
????
//?this?is?the?aspect?ratio?we?want?to?maintain
????
//?you?can?specify?this?all?sorts?of?ways,?but?the
????
//?easiest?is?to?take?the?original?size?and?divide
????
//?X?by?Y?(4:3?or?1.333?in?this?case)
????private?const?double?_originalWidth?=?400;
????
private?const?double?_originalHeight?=?300;
????
private?const?double?_originalAspectRatio?=
????????_originalWidth?
/?_originalHeight;

????
public?Page()
????{
????????InitializeComponent();

????????
//?wire?up?the?event?handler.?This?is?a?great?addition
????????
//?to?silverlight,?as?you?used?to?have?to?hook?into?the
????????
//?browser?event?yourself
????????SizeChanged?+=?new?SizeChangedEventHandler(Page_SizeChanged);
????}

????
void?Page_SizeChanged(object?sender,?SizeChangedEventArgs?e)
????{
????????
if?(e.NewSize.Width?<?_originalWidth?||
????????????e.NewSize.Height?
<?_originalHeight)
????????{
????????????
//?don't?shrink
????????????PageScale.ScaleX?=?1.0;
????????????PageScale.ScaleY?
=?1.0;
????????}
????????
else
????????{
????????????
//?resize?keeping?aspect?ratio?the?same
????????????if?(e.NewSize.Width?/?e.NewSize.Height?>?_originalAspectRatio)
????????????{
????????????????
//?height?is?our?constraining?property
????????????????PageScale.ScaleY?=?e.NewSize.Height?/?_originalHeight;
????????????????PageScale.ScaleX?
=?PageScale.ScaleY;
????????????}
????????????
else
????????????{
????????????????
//?either?width?is?our?constraining?property,?or?the?user
????????????????
//?managed?to?nail?our?aspect?ratio?perfectly.
????????????????PageScale.ScaleX?=?e.NewSize.Width?/?_originalWidth;
????????????????PageScale.ScaleY?
=?PageScale.ScaleX;
????????????}
????????}
????}
}


??? 這是一個(gè)很有用的小技巧,所以在這里做一個(gè)記號(hào),看看將來(lái)是否能用得上:)

總結(jié)

以上是生活随笔為你收集整理的使silverlight适应IE窗口大小的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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