带有 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 资源管理器的搜索框的主要内容,如果未能解决你的问题,请参考以下文章

如何创建具有不同 Aero 玻璃框架的窗户?

Aero:如何在玻璃上绘制 ClearType 文本?

模糊 WPF 容器的背景

让Qt支持Win7的Aero和毛玻璃效果

适用于所有 Win32 程序员的在 Windows Aero Glass(DWM、GDI、GDI+)上绘图的文档和 API 示例

wpf 实现实时毛玻璃(live blur)效果