2010-06-06 4 views
0

aero glass titlebar exampleКак дублировать «фон», применяемый к тексту в заголовках заголовков Aero?

Все окна в Аэро имеют такой белый фон на их тексте. Я хотел бы создать эквивалент этого эффекта для GlassWindow, который я использую, который имеет TextBlock в области ярлыков, но я не дизайнер, поэтому я понятия не имею, как подойти к этому. Как я могу воспроизвести этот фоновый эффект?

ответ

0

Это может привести вас в правильном направлении: Glowing Label Controls On A Glass Surface

EDIT: Модифицированный исходный образец (связаны) и добавлен цвет TOT размытости

<Style TargetType="{x:Type Label}"> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="{x:Type Label}"> 
         <Border BorderBrush="{TemplateBinding BorderBrush}" 
          BorderThickness="{TemplateBinding BorderThickness}" 
          Background="{TemplateBinding Background}" 
          Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True"> 
          <Grid> 
           <ContentPresenter 

            Content="{TemplateBinding Content}" 
            ContentStringFormat="{TemplateBinding ContentStringFormat}" 
            HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
            RecognizesAccessKey="True" 
            SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
            VerticalAlignment="{TemplateBinding VerticalContentAlignment}"> 
            <ContentPresenter.ContentTemplate> 
             <DataTemplate> 
              <TextBlock Foreground="White" Text="{TemplateBinding Content}" /> 
             </DataTemplate> 
            </ContentPresenter.ContentTemplate> 
            <ContentPresenter.Effect> 
             <BlurEffect Radius="10" /> 
            </ContentPresenter.Effect> 
           </ContentPresenter> 

           <ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" 
             Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" 
             HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
                RecognizesAccessKey="True" 
             SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" 
             VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 

          </Grid> 
         </Border> 
         <ControlTemplate.Triggers> 
          <Trigger Property="IsEnabled" Value="False"> 
           <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> 
          </Trigger> 
         </ControlTemplate.Triggers> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
+0

Это размывает текст, но не добавлять никаких вид фона для него. Я сделал что-то не так, или что все эти образцы предназначены? Как я уже сказал, эта часть WPF намного превосходит меня. – JustABill

+0

Попробуйте отредактировать ответ. Я добавил цвет к размытию (вроде). Предполагается, что образец должен заменить шаблон управления для ярлыка, так что contentpresenter будет показан дважды, один с эффектом размытия, который затем накладывается на исходный contennt. В зависимости от того, как выглядит ваш код, это может быть или не работать из коробки. Поместите некоторый код, если это не работает. – ThomasAndersson

+0

Хорошо, это сработало, теперь мне просто нужно настроить его, пока он не выглядит так, как я хочу. Благодаря! – JustABill