WPF自定義控制項(四) 自定義控制項

2021-09-07 20:27:07 字數 1775 閱讀 2448

原文:

wpf自定義控制項(四)の自定義控制項

在實際工作中,wpf提供的控制項並不能完全滿足不同的設計需求。這時,需要我們設計自定義控制項。

這裡lz總結一些自己的思路,特性如下:

下面舉例說說在專案中我們經常用到調音台音量條,寫乙個自定義控制項模擬調音台音量條。

自定義控制項singnallight,實現功能

public

class

singnallight : contentcontrol

set }

public

singnallight()

static

singnallight()

}

valuea為接受外部數值的屬性

2.複寫控制項uitemplate

1

3.接受值判斷,singnallight通過實現ivalueconverter和override arrange & measure methods,實現了ui呈現的繫結,

1     public class singnallightstatusconverter : ivalueconverter 

11 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...