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 >
 
这样就完成自定义控件的第一步了即,显示一个方框。
 
相关文章
相关标签/搜索