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>
     
    这样就完成自定义控件的第一步了即,显示一个方框。
     
     
     
  • 相关阅读:
    动态规划之解决01背包问题 【转载】
    暴力搜索解0-1背包问题 【转载】
    回溯法之地图着色
    贪心算法之最小生成树
    贪心算法之最短路径
    HMM隐马尔科夫模型
    变分贝叶斯
    Leetcode好的微博
    HMM隐马尔科夫模型浅析
    向量的协方差矩阵浅析
  • 原文地址:https://www.cnblogs.com/cody1988/p/3771783.html
Copyright © 2011-2022 走看看