小智 25
如果您需要在调整窗口大小时按比例缩放窗口内容(例如最大化窗口),Viewbox非常有用.在这个简约的页面中
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Viewbox>
<StackPanel>
<TextBlock FontSize="14">Example</TextBlock>
<Border Background="Aqua" Width="100" Height="100"></Border>
</StackPanel>
</Viewbox>
</Window>
Run Code Online (Sandbox Code Playgroud)
你有一个TextBlock和一个垂直堆叠的彩色边框; 如果你启动这个xaml,窗口的大小将为300x300,TextBlock的字体大小为14,彩色边框的大小为100x100.如果您重新缩放窗口,您将相应地看到TextBlock和Border缩放(因此它们将不再是您在xaml中指定的大小),保持相对比例.在这方面,Viewbox非常有用,如果你需要一个窗口,其内部组件布局看起来总是独立于它将显示的最终分辨率(重要的是宽高比,思考).这显然适用于你放在Viewbox中的任何内容(我们有一个带有视频和3D视图的应用程序).请注意,在Visual Studio 2008中,您将无法在Designer中看到Viewbox的内容.
希望这有帮助.