根据Windows设计指南的建议调整WPF控件的大小

时间:2019-03-25 15:50:39

标签: wpf user-experience ui-guidelines

如何配置WPF以使其控件使用Microsoft建议的大小?

例如,button的高度应为23像素,包括1像素的透明边框。如何实现透明边框? Button.BorderBrush控制可见边框。

另一个示例是单行text box,其高度应为23像素。

我是否需要手工设置所有样式?还是有办法使控件默认为本地Windows用户体验?


更新:以下是其中一些差异的直观视图。

WPF控件:

WPF controls

标准Windows控件(例如,从Common Item Dialog在记事本中,单击“文件”>“打开”)

Common Item Dialog controls

这不是一个完美的比较,因为在“公共项目”对话框中,文件名框是ComboBox,而不是TextBox。我尝试比较“打印设置”和“打印”对话框(也来自记事本),但它们没有使用与打开文件对话框相同的大小按钮甚至字体。我一直忘记我在这里与微软打交道,而不是与苹果打交道。

关于按钮的区别在所有记事本对话框中都是一致的,默认情况下WPF不匹配。如果该按钮是默认按钮,则记事本中的边框会变粗。按钮的透明边框变为蓝色。对于“记事本”非默认按钮,您可以单击可见边框之外的一个像素,然后仍然单击该按钮。对于WPF按钮不起作用。

灵活性很好,但是原生的,很好的外观和外观的控件确实很棒。如果有一个无需考虑这些问题的嵌入式解决方案,那就太好了。

以下是WPF控件的XAML:

<StackPanel Name="controls" Margin="20">
    <TextBox Text="Default TextBox" />
    <TextBox Height="23" Text="TextBox with height 23" />
    <Button Content="Cancel" />
    <Button Height="21" Content="Cancel" IsDefault="True" />
</StackPanel>

以及背后的代码:

foreach (Control control in controls.Children) {
    control.Margin = new Thickness(0, 10, 0, 10);
    control.VerticalContentAlignment = VerticalAlignment.Center;
}

0 个答案:

没有答案