教你如何用Silverlight做乙個儀錶盤

2021-09-07 21:06:47 字數 2912 閱讀 5543

使用silverlight做乙個儀錶盤控制項,最好是借助expression blend來實現。先看看這個控制項的效果:

首先需要建立乙個自定義控制項:

我們建立了乙個視覺化的控制項grid,並把當前這個控制項gaugecontrol作為grid的datacontext。

接下來需要完成的是自定義幾個依賴屬性:

顯示的值(value),最大值(maximum)和最小值(minimum),以及不同的量度區間(qualitativeranges)。

例如,value的**:

public double value

set 

}dependencyproperty valueproperty = dependencyproperty.register("value", typeof(double),

typeof(gaugecontrol), new propertymetadata(50.0, onvaluepropertychanged));

private static void onvaluepropertychanged(dependencyobject d, dependencypropertychangedeventargs e)

接下來需要做的是建立乙個rsource檔案,新增乙個style並給它設定乙個名字為layoutroot的控制項模板。

接下來是我們來用expression blend來開啟專案,編輯這個控制項模板。

首先是新增乙個grid,並在這個grid中新增乙個圓:

通過fill和stroke來設定圓的顯示:

在圓中新增乙個itemcontrol,因為我們要使用資料繫結來給顯示小的標記點,所以需要乙個viewmodel來為這些標記點提供資料繫結:

例如:

<

itemscontrol

itemssource=""

verticalalignment

="center"

horizontalalignment

="center"

>

<

itemscontrol.itemspanel

>

<

itemspaneltemplate

>

<

canvas

/>

itemspaneltemplate

>

itemscontrol.itemspanel

>

<

itemscontrol.itemtemplate

>

<

datatemplate

>

<

ellipse

fill

="black"

width

="3"

height

="3"

>

<

ellipse.rendertransform

>

<

transformgroup

>

<

translatetransform

x="-1.5"

y="-1.5"

/>

<

translatetransform

x="0"y="

}"/>

<

rotatetransform

angle=""

/>

transformgroup

>

ellipse.rendertransform

>

ellipse

>

datatemplate

>

itemscontrol.itemtemplate

>

itemscontrol

>

需要繫結的就是minorticks.它都有viewmodel提供值。

同理可以繫結大的標記點:

接下來就是指標的建立:

首先需要建立乙個grid:

然後使用path元素來建立乙個菱形並未它加上效果:

可以看這個例子學習使用path來畫圖:

最後一步是新增陰影效果顯得更酷:

完成啦。

對於資料轉換還是需要一些轉換函式,比如,顏色轉化為brush:

教你如何用flash作正弦曲線

1 畫乙個圓,轉換成mc,例項名 圖象 雙擊開啟,延長幀為100 120,不用設定動畫。2 畫乙個三角形,轉換成mc,雙擊開啟,再轉換為按鈕,例項名為 按鈕 回主場景,複製乙份按鈕,例項名分別為 圖象振幅 和 圖象週期 3 主場景寫入以下as,即可測試。我用中文起名,為的是好理解as語句的內容 振幅...

六步教你如何用PADS進行PCB設計?

在使用pads進行pcb設計的過程中,需要對印製板的設計流程以及相關的注意事項進行重點關注,這樣才能更好的為工作組中的設計人員提供系統的設計規範,同時也方便設計人員之間進行相互的交流和檢查。設計的流程 pcb的設計流程分為網表輸入 規則設定 元器件布局 佈線 檢查 複查 輸出六個步驟。2.1 網表輸...

教你如何用Excel表來製作工資條

第一步 新建一excel檔案,在sheet1中存放工資表的原始資料,假設有n列。輸入你要製作的工資條資料,第一行是工資專案 編號 姓名 崗位工資等等 從第二行開始是每個人的工資資料 10001 張三 580等等 有多少資料,你就輸入多少。第二步 最關鍵是這一步 這樣我們在sheet2的a1單元格中輸...