带有 WPF 的 Aero 玻璃框架上类似于 Windows 资源管理器的搜索框
Posted
技术标签:
【中文标题】带有 WPF 的 Aero 玻璃框架上类似于 Windows 资源管理器的搜索框【英文标题】:Windows Explorer-like search box on Aero glass frame with WPF 【发布时间】:2010-11-28 22:42:37 【问题描述】:我是 extending the Aero glass frame 进入客户区并想将 a search box 放在扩展框架上,就像 Windows 资源管理器所做的那样:
默认的 WPF 文本框有一个灰色/蓝色边框,而不是屏幕截图中可以看到的暗白色发光边框。 如何更改 WPF 文本框以使用与 Windows 资源管理器搜索框相同的样式?
【问题讨论】:
【参考方案1】:这是我尝试在 WPF 中重新创建 Windows 资源管理器搜索框的外观:
它看起来不像原版 100%,但非常接近。
代码如下:
<Border BorderBrush="#40FFFFFF" BorderThickness="1" CornerRadius="2">
<Border BorderBrush="#80000000" BorderThickness="1,1,0,0" CornerRadius="2">
<Border BorderBrush="#30000000" BorderThickness="0,0,1,1" CornerRadius="2">
<Border BorderBrush="#F0FFFFFF" BorderThickness="1" CornerRadius="1">
<TextBox Background="#C0FFFFFF" BorderThickness="0"></TextBox>
</Border>
</Border>
</Border>
</Border>
【讨论】:
请注意,在我为每个边框设置SnapsToDevicePixels="True"
之前,我无法让它工作。【参考方案2】:
我怀疑 WPF 中是否存在执行此操作的标准方法。我最好的选择是使用 Blend 自己设置控件样式。这样,您应该能够通过为其指定不同的模板来自定义文本框的外观。 HTH。
【讨论】:
以上是关于带有 WPF 的 Aero 玻璃框架上类似于 Windows 资源管理器的搜索框的主要内容,如果未能解决你的问题,请参考以下文章
适用于所有 Win32 程序员的在 Windows Aero Glass(DWM、GDI、GDI+)上绘图的文档和 API 示例