如何配置WPF以使其控件使用Microsoft建议的大小?
例如,button的高度应为23像素,包括1像素的透明边框。如何实现透明边框? Button.BorderBrush
控制可见边框。
另一个示例是单行text box,其高度应为23像素。
我是否需要手工设置所有样式?还是有办法使控件默认为本地Windows用户体验?
更新:以下是其中一些差异的直观视图。
WPF控件:
标准Windows控件(例如,从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;
}