如何准备Silverlight或WPF应用程序以从大分辨率更改为小分辨率?
我猜使用dockpanel策略只适用于从小分辨率变为大分辨率。
那么,有没有默认策略?感谢。
问题:我在像素1024,768中有一个按钮结束。我将分辨率更改为800x600。
答案 0 :(得分:2)
前段时间我遇到了类似的问题。作为一种解决方法,我在 Viewbox 中包围了窗口内容。
使用1024x768而不是1280x1024的用户会看到应用程序内容较小,但他们更喜欢这一点,而不是一直滚动。 (WPF)
我将不得不为下一个项目工作,让我们希望有更好的想法!
答案 1 :(得分:1)
嗯,您可以将您的布局设计为Stretch并考虑800x600进行设计,因此每当布局大于800x600时,它都适合。但...
如果你真的想要一些奇特的东西,检测窗口大小/ ActualHeight和ActualWidth(使用SizeChanged)的变化,然后通过代码(使用动态变换)根据大小缩放应用程序。
例如,在" LayoutRoot"在主视图中:
var x = new ScaleTransform();
x.ScaleX = .5; // Do fancy computation here
x.ScaleY = .5; // Do fancy computation here
this.LayoutRoot.RenderTransform = x;
只是一个想法,我的意思是如果屏幕比你的设计大,你会放大,反之亦然。
希望这有帮助。
答案 2 :(得分:0)
我认为这样做更好:
ScrollViewer Background="GreenYellow" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" Name="layoutRoot">
Canvas Width="1024" Height="768">
dataInput:Label Height="50" Name="label1" Width="100" Canvas.Left="540" Canvas.Top="131" Content="aeeeeeeee" />
Button Canvas.Left="12" Canvas.Top="131" Content="Button" Height="23" Name="button1" Width="75" />
Button Canvas.Left="937" Canvas.Top="147" Content="Button" Height="23" Name="button2" Width="75" />
Button Canvas.Left="510" Canvas.Top="21" Content="Button" Height="23" Name="button3" Width="75" />
Button Canvas.Left="482" Canvas.Top="550" Content="Button" Height="23" Name="button4" Width="75" />
/Canvas>
/ScrollViewer>