使用自定義控制項顯示數字

2021-09-25 19:10:46 字數 2569 閱讀 8564

有時候,出於美觀需要,我們需求將數字顯示為下圖右側效果,實現比較簡單.主要**做筆記如下:

在專案中新建類mydigitalex,繼承自control

public class mydigital : control
建立依賴屬性,用於接受數字字串.並重寫onrender方法

using system;

using system.globalization;

using system.windows;

using system.windows.controls;

using system.windows.input;

using system.windows.media;

namespace wpf超級大樂透

set}

public

brush digitalblackground

set}

public

brush digitalbrushfont

set}

public

brush digitalpenbrush

set}

public

double digitalbrushthickness

set}

public

double radius

set}

static

mydigitalex()

#endregion

protected

override

void

onmousedoubleclick

(mousebuttoneventargs e)

protected

override

void

onrender

(drawingcontext dc));

int n = digitals.length;

double digitalwidth = len;

double totalradius = len /2;

//double radius = totalradius * 9 / 10;

this

.width = radius * n *2;

for(

int i =

0; i < n; i++)}}}}

前端使用listview進行布局,開獎號碼使用有模板 colalldigital

x:name

="lst"

d:datacontext=""

fontsize

="12"

fontfamily

="verdana"

itemssource=""

>

>

>

header

="期號"

displaymemberbinding=""

width

="80"

/>

header

="開獎號碼"

displaymemberbinding=""

width

="150"

/>

header

="開獎號碼"

width

=" 350"

celltemplate=""

>

gridviewcolumn

>

gridview

>

listview.view

>

colalldigital 模板定義如下

>

x:key

="colalldigital"

d:isdesigntimecreatable

="true"

>

margin

="5,2,5,2"

>

<

local:mydigitalex

x:name

="labeldigital"

width

="130"

height

="30"

horizontalalignment

="center"

digitalpenbrush

="red"

digitalblackground

="white"

digitalbrushfont

="black"

digitalnumber=""

>

local:mydigitalex

>

stackpanel

>

datatemplate

>

window.resources

>

至此,就完成了基本實現.

demo

自定義頁碼顯示控制項PageNumberView

上述效果使用了viewpager 自製的pagenumberview實現的。下面來介紹一下具體實現 首先是布局 布局採用了radiobutton來顯示頁碼,最多顯示5頁。button與radiobutton都採用了自定義樣式。再來看一下pagenumberview public class page...

自定義控制項 VIewPager顯示多個Item

一直以來想搞明白這個不完全的viewpager是怎麼做到的,有幸看到這片篇文章 有二種實現方法 1.設定的屬性 1.clipchildren屬性 2.setpagemargin 3.更新item外界面 2.重寫getpagewidth public class multiplepageradapte...

自定義控制項 VIewPager顯示多個Item

一直以來想搞明白這個不完全的viewpager是怎麼做到的,有幸看到這片篇文章 有二種實現方法 1.設定的屬性 1.clipchildren屬性 2.setpagemargin 3.更新item外界面 2.重寫getpagewidth public class multiplepageradapte...