WP 8 1開發 同時更新多種磁貼

2021-09-06 19:14:37 字數 2859 閱讀 6531

一般應用程式都會包含多個尺寸的磁貼,如小磁貼(71×71)、中磁貼(150×150)和寬磁貼(310×150)。常規的磁貼更新做法是用xml文件來定義更新內容,然後再提交更新。如:

以上做法是分兩次更新的,那麼,有沒有可能做到一次更新就能同時修改150x150,以及310x150兩種磁貼呢?

先來分析一下,定義磁貼的xml文件是以乙個tile元素作為根節點的,表示它更新的是磁貼,而不是發出toast通知,接下來在tile中包含單個visual元素,visual元素下面是binding元素。

對了,技巧就在這裡了,根據文件的說明,visual元素是可以包含多個binding元素的,而一般乙個binding就是描述乙個模板的磁貼

啊,有思路了吧? 你應該猜到了,就是在visual元素下多放幾個binding元素,就能同時更新多種磁貼了。

舉個例子,假設我有乙個應用同時支援多種尺寸的磁貼,我希望可以同時更新150x150的和310x150兩種磁貼,那麼我只要把xml文件變為這樣就可以了。

<

tile

>

<

visual

version

="2"

>

<

binding

template

="tilewide310x150blockandtext02"

fallback

="tilewideblockandtext02"

>

<

text

id="1"

>text field 1

text

>

<

text

id="2"

>text field 2 (block text)

text

>

<

text

id="3"

>text field 3 (under block text)

text

>

binding

>

<

binding

template

="tilesquare150x150text02"

fallback

="tilesquaretext02"

>

<

text

id="1"

>text field 1 (larger text)

text

>

<

text

id="2"

>text field 2

text

>

binding

>

visual

>

tile

>

如何? 咱們試試,看能不能實現。

xmldocument docx = new

xmldocument();

//建立根節點

xmlelement tile = docx.createelement("

tile");

//建立visual元素

var visual = docx.createelement("

visual");

//設定特性

visual.setattribute("

version

", "2"

);

//新增第乙個binding元素

var binding = docx.createelement("

binding");

binding.setattribute(

"template

", "

tilesquare150x150text02");

binding.setattribute(

"fallback

", "

tilesquaretext02");

//建立兩個字段

//新增第二個binding元素

binding = docx.createelement("

binding");

binding.setattribute(

"template

", "

tilewide310x150blockandtext02");

binding.setattribute(

"fallback

", "

tilewideblockandtext02");

//新增三個字段

//輸出一下,以檢查是否正確

system.diagnostics.debug.writeline(docx.getxml());

//2、建立通知更新

tilenotification notifi = new

tilenotification(docx);

我這裡是用位於windows.data.xml.dom命名空間下的api來建立xml文件的,如果你覺得這個太複雜,容易混亂,那你可以考慮直接拼接文字,這樣可能不容易弄錯。

好,看看效果。

如何如何,這樣是不是省事了。

最後我再廢話一下,不管是磁貼還是toast通知的xml文件,千萬不要去死記硬背,不用記的,用的時候查文件就行了;而且,要有選擇性地運用,也沒必要在乙個應用中把所有的xml模板都用過一遍,這樣會很恐怖的,只要挑選需要的模板就可以了。

WP 8 1開發 電子羅盤

羅盤,估計也不用我過多介紹,學過初中物理的都知道,不管是指南針,還是指北針,其本質就是用來辨別方向的。操作電子羅盤偉感器也不複雜,主要就是兩個角度 1 當前方向與磁北的夾角 2 當前方向與地北的夾角。同時,我們也了解到,地理北極與地磁北極並不是重合的,存在地偏角。在讀取電子羅盤資料時,可以優先考慮讀...

質問微軟 WP8 1開發HTTPS 真費勁

本人用c 多年,wpf2年,一直想做點應用為wp生態貢獻一點力量,最近終於有機會接觸了 家裡的本子是2年前的低壓i3,不支援虛擬化,一直沒有真機.最近同事媽媽換下來乙個820給我拿來做開發用,非常感謝 作為c 開發,一直被其他語言看不起,我想你們中的很多人遇到這個問題的不在少數,但是 我還是堅持下來...

WP8 1 模仿手機通訊記錄的選擇框

2016年11月6日 更新 其實 這個有乙個非常簡單的方法.非常簡單.listview selectionmode multiple 這個一xaml 就可以解決了.製作側邊點選效果也是和上乙個一樣的,等我找時間 弄一下 建議使用itemscontrol作為列表,使用listview的時候,listv...