如何配置 WPF 以使其控件使用 Microsoft 推荐的大小?
例如,一个按钮应该是 23 像素高,包括一个 1 像素的透明边框。如何实现透明边框?Button.BorderBrush
控制可见边框。
另一个例子是单行文本框,它应该是 23 像素高。
我必须手动设计所有样式吗?或者有没有办法让控件默认为原生 Windows 用户体验?
更新:这是一些差异的视觉效果。
WPF 控件:
标准 Windows 控件:(来自Common Item Dialog,例如在记事本中,单击 File > Open)
这不是一个完美的比较,因为在 Common Item Dialog 中,文件名框是 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;
}