我正在使用Viewbox来缩放固定大小的画布(包含各种路径,这些路径一起形成一个有意义的画面).
<StackPanel Background="Red" Width="400" UseLayoutRounding="True">
<StackPanel.Resources>
<Style TargetType="Viewbox">
<Setter Property="Height" Value="400" />
<Setter Property="Margin" Value="0,0,0,50" />
</Style>
<Style TargetType="Path">
<Setter Property="Stroke" Value="Blue" />
<Setter Property="StrokeThickness" Value="2" />
</Style>
</StackPanel.Resources>
<Viewbox>
<Canvas Width="5" Height="5">
<Path Data="M 1,1 h 3 v 3 h -3 z" />
</Canvas>
</Viewbox>
<Viewbox>
<Canvas Width="6" Height="6">
<Path Data="M 1,1 h 4 v 4 h -4 z" />
</Canvas>
</Viewbox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
当我在PC上本地渲染时,此xaml显示在顶部,如在模拟器上渲染时显示在底部.当模拟器产生所需的结果时,有人可以向我解释为什么第二条路径超出红色面板吗?
xaml canvas microsoft-metro windows-runtime windows-store-apps
在查看一些官方的Windows8 /"Metro"资料时,我看到了这行xaml:
<TextBlock Text="Contoso Cookbook" FontFamily="Segoe UI" FontWeight="SemiLight" FontSize="26.667" />
Run Code Online (Sandbox Code Playgroud)
什么?!?字体大小26.667?我意识到这是40 2 /三分之二,和32 5/6ths,也许有一些转换的事情发生的事情,但是这将是设置字体大小的首选方式,如果是这样,什么是未来的指导方针这些看似随意的尺寸?