WPF窗口模板——Style样式
通用模板,窗口样式
1 <!-- 通用窗口模板 --> 2 <ControlTemplate x:Key="CustomWindowTemplate" TargetType="Window"> 3 <Border Margin="3" CornerRadius="5,5,5,5" Background="#1BA1E2" MouseLeftButtonDown="CustomWindow_MouseLeftButtonDown"> 4 <Border.Effect> 5 <DropShadowEffect BlurRadius="3" RenderingBias="Performance" ShadowDepth="0" Opacity="1"/> 6 </Border.Effect> 7 <Grid> 8 <Grid.RowDefinitions> 9 <RowDefinition Height="50"></RowDefinition> 10 <RowDefinition></RowDefinition> 11 </Grid.RowDefinitions> 12 <Grid Grid.Row="0"> 13 <TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0" 14 Text="{TemplateBinding Title}" Foreground="#FFFFFF" FontSize="20"></TextBlock> 15 <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,10,10,0" VerticalAlignment="Top"> 16 <Button Height="20" Width="20" Content="-" 17 Style="{StaticResource ResourceKey=CustomWindowMenuBtn}" Click="CustomWindowBtnMinimized_Click" /> 18 <Button Height="20" Width="20" Content="□" 19 Style="{StaticResource ResourceKey=CustomWindowMenuBtn}" Click="CustomWindowBtnMaxNormal_Click" /> 20 <Button Height="20" Width="20" Content="×" 21 Style="{StaticResource ResourceKey=CustomWindowMenuBtn}" Click="CustomWindowBtnClose_Click" /> 22 </StackPanel> 23 </Grid> 24 <Grid Grid.Row="1"> 25 <AdornerDecorator> 26 <ContentPresenter></ContentPresenter> 27 </AdornerDecorator> 28 </Grid> 29 </Grid> 30 </Border> 31 </ControlTemplate> 32 33 <!-- 通用窗口样式 --> 34 <Style x:Key="CustomWindowChrome" TargetType="Window"> 35 <Setter Property="AllowsTransparency" Value="True"></Setter> 36 <Setter Property="Background" Value="Transparent"></Setter> 37 <Setter Property="WindowStyle" Value="None"></Setter> 38 <Setter Property="ResizeMode" Value="NoResize"></Setter> 39 <Setter Property="Template" Value="{StaticResource CustomWindowTemplate}"></Setter> 40 </Style>
- <!-- 通用窗口模板 -->
- <ControlTemplate x:Key="CustomWindowTemplate" TargetType="Window">
- <Border Margin="3" CornerRadius="5,5,5,5" Background="#1BA1E2" MouseLeftButtonDown="CustomWindow_MouseLeftButtonDown">
- <Border.Effect>
- <DropShadowEffect BlurRadius="3" RenderingBias="Performance" ShadowDepth="0" Opacity="1"/>
- </Border.Effect>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="50"></RowDefinition>
- <RowDefinition></RowDefinition>
- </Grid.RowDefinitions>
- <Grid Grid.Row="0">
- <TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"
- Text="{TemplateBinding Title}" Foreground="#FFFFFF" FontSize="20"></TextBlock>
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,10,10,0" VerticalAlignment="Top">
- <Button Height="20" Width="20" Content="-"
- Style="{StaticResource ResourceKey=CustomWindowMenuBtn}" Click="CustomWindowBtnMinimized_Click" />
- <Button Height="20" Width="20" Content="□"
- Style="{StaticResource ResourceKey=CustomWindowMenuBtn}" Click="CustomWindowBtnMaxNormal_Click" />
- <Button Height="20" Width="20" Content="×"
- Style="{StaticResource ResourceKey=CustomWindowMenuBtn}" Click="CustomWindowBtnClose_Click" />
- </StackPanel>
- </Grid>
- <Grid Grid.Row="1">
- <AdornerDecorator>
- <ContentPresenter></ContentPresenter>
- </AdornerDecorator>
- </Grid>
- </Grid>
- </Border>
- </ControlTemplate>
- <!-- 通用窗口样式 -->
- <Style x:Key="CustomWindowChrome" TargetType="Window">
- <Setter Property="AllowsTransparency" Value="True"></Setter>
- <Setter Property="Background" Value="Transparent"></Setter>
- <Setter Property="WindowStyle" Value="None"></Setter>
- <Setter Property="ResizeMode" Value="NoResize"></Setter>
- <Setter Property="Template" Value="{StaticResource CustomWindowTemplate}"></Setter>
- </Style>