zoukankan      html  css  js  c++  java
  • WPF学习笔记-使用自定义资源字典(style)文件

    1、添加资源字典文件style.xmal

    2、在资源字典中添加自定义style等

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                        xmlns:local="clr-namespace:WpfTest.resources">
        <Style x:Key="for_noresize_window" TargetType="{x:Type Window}">
            <Setter Property="AllowsTransparency" Value="true"/>
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="FontFamily" Value="Consolas, Microsoft YaHei"/>
            <Setter Property="ResizeMode" Value="NoResize"/>
            <Setter Property="WindowStyle" Value="None"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Window}">
                        <Grid Margin="10">
                            <Rectangle Fill="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"  
                                   RadiusX="5" RadiusY="5">
                                <Rectangle.Effect>
                                    <DropShadowEffect BlurRadius="10" ShadowDepth="0"/>
                                </Rectangle.Effect>
                            </Rectangle>
                            <Border Background="{TemplateBinding Background}"  
                                BorderBrush="{TemplateBinding BorderBrush}"  
                                BorderThickness="{TemplateBinding BorderThickness}"  
                                Padding="{TemplateBinding Margin}"  
                                SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"  
                                CornerRadius="5">
                                <ContentPresenter />
                            </Border>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ResourceDictionary>

    3、引用自定义文件:打开App.xaml文件,在<Application.Resources></Application.Resources>中添加资源字典文件引用

    <Application x:Class="WpfTest.App"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:local="clr-namespace:WpfTest"
                 StartupUri="MainWindow.xaml">
        <Application.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source="resources/style.xaml"/>
                </ResourceDictionary.MergedDictionaries>
    
            </ResourceDictionary>
        </Application.Resources>
    </Application>

    4、将样式应用到窗口的布局上,边框阴影窗体

    <Window x:Class="WpfTest.Window1"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfTest"
            mc:Ignorable="d"
            Title="Window1"   
            Style="{StaticResource for_noresize_window}">
       
     <Grid>
            
        </Grid>
    </Window>
  • 相关阅读:
    关于WPF的2000件事 01--WPF是什么?
    生产力
    读书笔记-WPF资源、样式、模板
    泛型
    WebAPI Post方法接收的FromBody一直为null
    第一讲 从头开始做一个web qq 机器人,第一步获取smart qq二维码
    .net dll反编译出现的问题,以及部分修复的方法
    以太坊中私有链的搭建
    java.. C# 使用AES加密互解 采用AES-128-ECB加密模式
    还原数据库出错 解决3154
  • 原文地址:https://www.cnblogs.com/theroad/p/6178795.html
Copyright © 2011-2022 走看看