原文:
wpf自定義控制項(四)の自定義控制項
在實際工作中,wpf提供的控制項並不能完全滿足不同的設計需求。這時,需要我們設計自定義控制項。
這裡lz總結一些自己的思路,特性如下:
下面舉例說說在專案中我們經常用到調音台音量條,寫乙個自定義控制項模擬調音台音量條。
自定義控制項singnallight,實現功能
publicclass
singnallight : contentcontrol
set }
public
singnallight()
static
singnallight()
}
valuea為接受外部數值的屬性
2.複寫控制項uitemplate
1
3.接受值判斷,singnallight通過實現ivalueconverter和override arrange & measure methods,實現了ui呈現的繫結,
1 public class singnallightstatusconverter : ivalueconverter11 return result;
12 }
13 14 public object convertback(object value, type targettype, object parameter, system.globalization.cultureinfo culture)
17 }
18 19 public class singnallightvalueconverter : imultivalueconverter
25 return result;
26 }
27 28 public object convertback(object value, type targettypes, object parameter, system.globalization.cultureinfo culture)
31 }
1 protected override size measureoverride(size constraint)5 6 protected override size arrangeoverride(size arrangebounds)
4.控制項支援拖拽,覆寫mousedown,mousemove,mouseup方法。這樣寫的好處是,如果在父控制項的事件中實現drag,父控制項如果有多個物件,這樣邏輯會十分混亂。
1 protected override void onmousemove(mouseeventargs e)8 }
9 10 protected override void onmousedown(mousebuttoneventargs e)
15 16 protected override void onmouseup(mousebuttoneventargs e)
wpf自定義控制項(一)の控制項分類
wpf自定義控制項(二)の重寫原生控制項樣式模板
wpf自定義控制項(三)の擴充套件控制項
wpf自定義控制項(四)の自定義控制項
wpf自定義控制項(五)の使用者控制項
mygui初探(四)自定義ui控制項
上班的時候,覺得零散的時間太短,不足以完成業餘作品或者學習某方面知識,希望放到週末去做。到了週末,想睡覺 看電影,就是不想學習,又希望,學習可以在上班空閒的時間進行。人生總是這麼矛盾,充滿了拖延症,這也難怪普通程式設計師很多,大牛級別的人很少。隨著工作年限增加,這種懶惰心理越來越嚴重。為了向大牛看齊...
WPF控制項自定義事件
第一步 定義乙個委託,委託屬於乙個定義,是和類 介面類似的,通常放在外部 輕提示事件委託 public delegate void sendmessageeventhandle string text 第二步 定義乙個sendmessageeventhandle型別事件,事件屬於類的成員,所以要放在...
Wpf 自定義控制項 1
1.新建乙個wpf工程,在工程下面新建 乙個資料夾themes,在themes下新建兩個資源字典檔案generic.xaml和prettyseekbar.xaml generic.xaml resourcedictionary xmlns xmlns x resourcedictionary.mer...