Search code examples
wpftextbackgroundaeroaero-glass

How to duplicate the "background" applied to text in Aero window titlebars?


aero glass titlebar example

All windows in Aero have this kind of whiteish background on their text. I'd like to create an equivalent of this effect for a GlassWindow I'm using that has a TextBlock in the label area, but I'm not really a designer so I have no idea how to approach this. How can I reproduce this background effect?


Solution

  • This could lead you in the right direction: Glowing Label Controls On A Glass Surface

    EDIT: Modified the original sample (linked) and added color tot the blur

    <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>