zoukankan      html  css  js  c++  java
  • Wpf 自定义控件(1)

    1. 新建一个wpf工程,在工程下面新建
      一个文件夹themes,在themes下新建两个资源字典文件generic.xaml和PrettySeekBar.xaml
    generic.xaml
     
    <ResourceDictionary xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml">
        <ResourceDictionary.MergedDictionaries >
            <ResourceDictionary Source ="/PrettyControls;component/themes/PrettySeekBar.xaml" />
        </ResourceDictionary.MergedDictionaries >
    </ResourceDictionary>
     
    PrettySeekBar.xaml
    <ResourceDictionary xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml"
                        xmlns:Pretty ="clr-namespace:PrettyControls"
                        >
        <Style TargetType="{x :Type Pretty :PrettySeekBar}">
            <Setter Property ="Template">
                <Setter.Value>
                    <ControlTemplate TargetType ="{x: Type Pretty: PrettySeekBar}">
                        <Grid Width ="50" Height="50" Background="Red">
                           
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style >
    </ResourceDictionary>
     
    2. 新建一个类PrettySeekBar
     
    namespace PrettyControls
    {
        public class PrettySeekBar :Control
        {
            #region Constructors
     
            static PrettySeekBar()
            {
     
                DefaultStyleKeyProperty.OverrideMetadata( typeof(PrettySeekBar ),new FrameworkPropertyMetadata (typeof( PrettySeekBar)));
     
            }
     
            #endregion
        }
    }
     
     
    3. 将wpf工程改为类库工程,并且删除 app.xaml 和 MainWindow.xaml以及对应的cs文件。
     
    之所以新建一个wpf工程而不是直接新建类库共,是因为wpf功能会自动导入wpf项目需要的基本类库。
     
     
     4. 新建一个Test wpf工程,并且引用PrettyControls项目,然后添加如下:
     
     
    < Window x : Class="Test.MainWindow"
            xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns :x ="http://schemas.microsoft.com/winfx/2006/xaml"
            Title ="MainWindow" Height ="350" Width="525"
            xmlns :Pretty ="clr-namespace:PrettyControls;assembly=PrettyControls"
            >
        <Grid >
            < Pretty: PrettySeekBar />
        </Grid >
    </ Window>
     
    这样就完成自定义控件的第一步了即,显示一个方框。
     
     
     
  • 相关阅读:
    ApacheCN 所有教程/文档集已备份到 Coding
    固态硬盘寿命天梯榜 2021.7
    一个垃圾佬的自我修养(一)工作站篇
    Java 向上转型
    记一次chromedriver与浏览器版本不匹配导致的问题(mac版本)
    关于C# 里面的axWindowsMediaPlayer的使用
    WCHAR的相关操作 范例 , 同时也是产生创建Sqlserver语句新表的 Sql
    C++ Win32 sokcet2.0版本 TCP 服务器
    C++ WIN 32 socket 2.0版本 TCP客户端
    数据库和传感器糅合 数据部分程序 正常运行
  • 原文地址:https://www.cnblogs.com/cody1988/p/3771783.html
Copyright © 2011-2022 走看看