SL项目开发自定义控件封装之新建自定义控件类库
一:自定義控件封裝的作用
封裝,繼承,多態是面向對象語言的核心思想。封裝的意義提現在程序思想“高內聚,低耦合”中,使團隊開發分工更加明確,在SL程序中封裝起到了很重要的作用,無論是自定義控件的封裝,用戶控件的封裝都提現了,在程序設計中非常重要的“模塊設計”思想。在SL項目中由于SL中XAML代碼的屬性繁多,且復雜封裝控件可以降低代碼的復雜讀,增強程序的可讀性,加快開發速度都有很大的幫助。(廢話不一定準確,只可意會,你是懂的)。
二:自定義控件庫的命名規則
控件命名規則隨沒有強制的要求,但是為了考慮代碼的復用性,和控件的復用性。以及不同程序員之間的對控件的理解,有良好的命名就提現得尤為重要。
推薦使用的命名規則為:公司名稱.主類型.子類型.語言類型。公司名稱為百度,主類型為控件,子類型為用戶控件自定義,語言為silverlight,相應的名稱為:BaiDu.Control.User.SL。
三:新建自定義庫
1.解決方案中新建項,新建“Silverlight Class Library”輸入對應的名稱如:BaiDu.Control.User.SL。
2.BaiDu.Control.User.SL中控件主題文件夾名稱為:Themes(名稱固定),并在Themes建立資源文件Generic(名稱固定);在Themes文件夾中一般存放控件的樣式文件以及圖片等資源;在Generic文件中管理控件樣式文件如代碼:
<ResourceDictionaryxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/BaiDu.Control.User.SL;component/Themes/Fieldset.xaml" />
<ResourceDictionary Source="/BaiDu.Control.User.SL;component/Themes/InputRow.xaml" />
</ResourceDictionary>
3.CS文件中使用樣式,如:
using System;using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace SCWJ.Control.User.SL
{
public class Fieldset : ContentControl
{
public Fieldset()
{
this.DefaultStyleKey = typeof(Fieldset);
}
/// <summary>
/// 標題
/// </summary>
public string Title
{
get { return (string)GetValue(TitleProperty); }
set { SetValue(TitleProperty, value); }
}
public static readonly DependencyProperty TitleProperty =
DependencyProperty.Register("Title", typeof(string), typeof(Fieldset), null);
}
}
四:自定義控件的類型
1.內容控件ContentControl。
2.列表控件ItemsControl。
在下面的章節中將詳細分享具體的定義的控件。
轉載于:https://www.cnblogs.com/chinafhp/archive/2011/05/02/2034710.html
總結
以上是生活随笔為你收集整理的SL项目开发自定义控件封装之新建自定义控件类库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop学习总结:Map-Reduc
- 下一篇: MemoryStream 反序列化的报错