嗨,我需要在Silverlight應用程序中有一個獨立的UI分辨率。它會隱式支持,還是應該在執行ScaleTransform後在代碼中注意?silverlight中的分辨率問題
它是否也支持多種瀏覽器?
在此先感謝。
嗨,我需要在Silverlight應用程序中有一個獨立的UI分辨率。它會隱式支持,還是應該在執行ScaleTransform後在代碼中注意?silverlight中的分辨率問題
它是否也支持多種瀏覽器?
在此先感謝。
您可以使用Silverlight Toolkit中的ViewBox控件進行縮放轉換。它將在所有支持的瀏覽器上運行。
您還可以設置用戶控件的寬度和高度爲自動(或刪除),然後讓UI伸展(但不調整)爲您設置(通常用網格控制)規則。
好吧,我想我會概述所有可以使用Silverlight允許指定大小的隱式方法的方法。
如果使用Stretch
設置爲VerticalAlignment
選項控制定義什麼:
<TextBox Grid.Column="0" Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
的UIElement將延伸至採取了所有可以利用的空間,它的父控件。像這樣的另一個設置是做這樣的事情定義這樣的表格列寬或行高:
<ColumnDefinition Width="*"/>
這會佔用所有的屏幕上的可用空間。
您可以在一個比形式增長列和網格的行:
<RowDefinition Height="3*"/> <RowDefinition Height="2*"/>
這將通過3px的每一個成長中的第一行的高度2px的是,第二個增長。
然後你就可以有多種選擇,如Auto
<ColumnDefinition Width="Auto"/>
這將根據尺寸需求的增長的UIElement。如果元素的子元素需要更多大小,元素將佔用更多的屏幕空間。
最後:
<TextBox Grid.Column="1" Grid.Row="0" Height="100" MinWidth="200" MaxWidth="400" x:Name="text"/>
這些是固定值,並確保任何給定的分辨率,該元件不會佔用超過400像素的寬度,但不小於200像素。它還表示元素的高度應始終爲100px。這對於諸如按鈕等元素非常有用,您不希望隨着分辨率的改變而增大或縮小。
最後,你可能會想換一個ScrollViewer
圍繞整個事情,只是爲了確保關閉屏幕元素可以被滾動到。當您的視圖需要比屏幕上可用空間更多的空間或元素設置爲Auto
時,可能會發生這種情況。
分辨率無關?你有沒有考慮設置容器的垂直和水平對齊以「伸展」。這通常應該填滿容器可用的空間。 – Johannes 2010-02-09 07:27:51