有時候,出於美觀需要,我們需求將數字顯示為下圖右側效果,實現比較簡單.主要**做筆記如下:
在專案中新建類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...