根据Windows设计指南建议调整WPF控件的大小
如何配置WPF以使其控件使用Microsoft建议的大小 例如,a的高度应为23像素,包括1像素的透明边框。如何实现透明边界<代码>按钮。边框笔刷控制可见边框 另一个例子是单线,它应该是23像素高 我必须手工制作所有东西吗?或者有没有办法使控件默认为本机Windows用户体验根据Windows设计指南建议调整WPF控件的大小,wpf,user-experience,ui-guidelines,Wpf,User Experience,Ui Guidelines,如何配置WPF以使其控件使用Microsoft建议的大小 例如,a的高度应为23像素,包括1像素的透明边框。如何实现透明边界按钮。边框笔刷控制可见边框 另一个例子是单线,它应该是23像素高 我必须手工制作所有东西吗?或者有没有办法使控件默认为本机Windows用户体验 更新:以下是一些差异的视觉效果 WPF控件: 标准Windows控件:(从中,例如在记事本中,单击文件>打开) 这不是一个完美的比较,因为在“公用项”对话框中,“文件名”框是一个组合框,而不是文本框。我试着比较打印设置和打印
更新:以下是一些差异的视觉效果 WPF控件: 标准Windows控件:(从中,例如在记事本中,单击文件>打开) 这不是一个完美的比较,因为在“公用项”对话框中,“文件名”框是一个组合框,而不是文本框。我试着比较打印设置和打印对话框(也来自记事本),但它们没有使用与打开文件对话框相同大小的按钮,甚至没有使用相同的字体。我一直忘了我是在和微软打交道,而不是苹果 在所有记事本对话框中,按钮都是一致的,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>
有一个默认样式,不确定它是否为windows标准,您可以在一个位置配置每种类型的默认样式。我倾向于在App中这样做。xaml BorderBrush可以设置为透明,BorderThickness可以设置为1像素,但可能我没有注意到这点。@kenny Windows指南要求两个边框:一个可见边框(内置于控件中),周围是一个不可见边框。据我推断,不可见边框旨在提供更大的点击区域,同时将按钮保持在两个像素以下,以便在控件之间留出更多空间,以减少混乱感<代码>边框笔刷设置可见边框。据我所知,没有任何属性可以处理不可见边框。我想你是对的,它们不是windows标准。也许最好还是坚持使用Winforms。已经有人,甚至微软,可能已经建立了一套默认的样式,使他们这样做。我用过的WPF项目大多都试着让它看起来更时尚,而“旧的”标准窗口“外观”是什么样子的。默认样式有什么问题?有一个默认样式,不确定它是否为windows标准,您可以在一个位置配置每种类型的默认样式。我倾向于在App中这样做。xaml BorderBrush可以设置为透明,BorderThickness可以设置为1像素,但可能我没有注意到这点。@kenny Windows指南要求两个边框:一个可见边框(内置于控件中),周围是一个不可见边框。据我推断,不可见边框旨在提供更大的点击区域,同时将按钮保持在两个像素以下,以便在控件之间留出更多空间,以减少混乱感<代码>边框笔刷设置可见边框。据我所知,没有任何属性可以处理不可见边框。我想你是对的,它们不是windows标准。也许最好还是坚持使用Winforms。已经有人,甚至微软,可能已经建立了一套默认的样式,使他们这样做。我用过的WPF项目大多都试着让它看起来更时尚,而“旧的”标准窗口“外观”是什么样子的。默认样式有什么问题?它们是标准的。
foreach (Control control in controls.Children) {
control.Margin = new Thickness(0, 10, 0, 10);
control.VerticalContentAlignment = VerticalAlignment.Center;
}