Окно поиска в стиле Windows Explorer на стеклянной рамке Aero с WPF

Я расширяю стеклянную рамку Aero в клиентской области и хочу разместить поле поиска в расширенном фрейме , точно так же, как это делает проводник Windows:

Окно поиска в Проводнике Windows

Текстовое поле WPF по умолчанию имеет серую / синюю границу, а не темную белую светящуюся границу, которую можно увидеть на снимке экрана. Как изменить стиль текстового поля WPF, чтобы он использовал тот же стиль, что и поле поиска Windows Explorer?


person dtb    schedule 16.09.2009    source источник


Ответы (2)


Это моя попытка воссоздать внешний вид окна поиска Windows Explorer в WPF:

Решение WPF по сравнению с исходным

Он не на 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>
person dtb    schedule 09.11.2009
comment
Обратите внимание, я не мог заставить его работать, пока не установил SnapsToDevicePixels="True" для каждой границы. - person Paya; 11.02.2011

Я сомневаюсь, что в WPF есть стандартный способ сделать это. Лучше всего создать элемент управления самостоятельно, используя Blend. Таким образом, вы сможете настроить внешний вид текстового поля, указав для него другой шаблон. HTH.

person Jonathan van de Veen    schedule 18.09.2009