Category Archives: Window Phone Development

Windows Phone 7 Disable Application Bar button – 如何Enable/Disable WP7的Application Bar Icon

Windows Phone中為了能夠令到應用程式更簡潔..
很多時候都盡量減少使用按鈕..
而使用ApplicationBarIconButtonApplicationBarContextMenu等等
我現在正在寫的程式也是一樣…
原來ApplicationBarIconButtonButton 的處理方法是有點不一樣的

由於程式上有一些功能需要連接到Web Service上..
所以會有小小的Delay..
如果不把ApplicationBarIconButton Disable的話..
便用者在等待期間.. 如果心急的話..可能會再次按這個ApplicationBarIconButton的按鈕..
所以便要找放法去Disable這個按鈕了…

一般來說…因為ApplicationBarIconButton 是一個Button..
而他又有一個IsEnable的屬性…
所以直角給我說: 只要用直接輸入這個ApplicationBarIconButton的名稱..
之後使用IsEnable的屬性便可以很簡單地 EnableDisable這個ApplicationBarIconButton

AppBarGetData.IsEnabled=false;

誰不知..當我在執行程式的時候..出現了以下的錯誤信息..
NullReferenceException
NullReferenceException

做了一會兒Research之後…找到了解決方法了.

解決方法:
原來要參考ApplicationBarIconButton 是需要用來 ApplicationBar.Buttons[] 這個屬性的
其中我們要在Button[]中輸入我們想參考的ApplicationBarIconButton位置/Index
是由ApplicationBar上的左至右排列的
ApplicationBar最左邊的ApplicationBarIconButtonIndex/位置是 “0”…
我們可以以這個方法..找出ApplicationBarIconButton的參考..之後修改他的屬性
E.G.

//或出這個ApplicationBarIconButton 之後Assign他到其中一個Variable備用
ApplicationBarIconButton AppBarButton1 = (ApplicationBarIconButton)ApplicationBar.Buttons[0];
//設定這個ApplicationBarIconButton的屬性
            AppBarButton1.IsEnabled = IsEnable;
            //另一個做法是直接Cast這個成ApplicationBarIconButton/ApplicationBarMenuButton
            ((ApplicationBarIconButton)ApplicationBar.Buttons[1]).IsEnabled = IsEnable;

Hope you find it useful

WP7 programmatically close virtual Keyboard

今天在開發一個WP7程式時發現一個小小的問題…
我的程式有一個Search Box..
當使用者輸入了想搜尋的東西…
之後按Application Bar上的按鈕..
便在Search Box下面的TextBox上出現資料
但是很可惜…當你輸入資料到Search Box之後按Application Bar的按鈕後…
WP7都仍然顯示 他的Virtual Keyboard
阻外使用者觀察結果…
感覺十分不方便…

嘗試了很多方法都不知道怎樣可以Off Focus 剛剛輸入完搜尋的東西的TextBox
最後在網上做了一會兒 research 之後終於找到了解決方法了

解決方法:
只要在想程式碼最後端 [按鈕會執行的程式碼]
加入以下的Code

this.Focus();

便可以了…this.Focus() 是用來把focus轉到程式的Page/頁上的
加入了程式碼後
按完Application Bar上的按鈕..這個Virtual Keyboard便自已慢慢退出了
Hope you find it useful

Free Download – Windows Phone ApplicationBar icon

我終於收拾了好心情…
開始努力寫多一些程式了…

又繼續我的Windows Phone 的開發..
有很多的BackEnd部份都已經完成了…
其實有概念怎樣開發…
很可惜…自己的藝術感差…
所以有關怎樣美化我的程式或怎樣可以令到有更好的使用者體驗…
都是一個很大的難題…
所以我決定找找網上的免費資源來幫幫忙…
第一個是向ApplicationBar 入手…
因為變化應該比較不大…
可以不同的只有icon 和文字…
所以我便在網上找一些免費的ApplicationBarIcon給我的程式使用…

希望可以在這次的網誌和大家分享這些免費又美觀的ApplicationBarIcon

有興建的朋友歡樂 Download 來使用看看…
以下是一些可以Download Windows Phone Application Bar Icon的連結 希望大家喜歡…
http://yankoa.deviantart.com/art/MetroStation-183210118?q=&qo=

http://www.pedrolamas.com/windows-phone/windows-phone-application-bar-icons-en/

當然如果你們有更好的…
歡迎大家和我們分享

我會不定時更新新找到的Resource

Hope you find it useful

The [NeutralResourceLanguage] attribute is missing on the entry assembly (2003) – AppHub Windows Phone MarketPlace error

我的AppHub Account很快便會到期了..
所以要快快把之前寫的一個程式的Bug解決之後再Republish..
誰不知…當我Package好的時候..
之後把這個.xap Upload 到Marketplace時出現了以下的錯誤信息
The [NeutralResourceLanguage] attribute is missing on the entry assembly (2003)
AppHub upload Marketplace error The [NeutralResourceLanguage] attribute is missing on the entry assembly (2003)

嘗我看到這個錯誤信息時..
我突然間意想到..
這可能和Project Properties有關的..
更改了一些Settings之後問題的解決了

解決方法:
在你的Visual Studio Windows Phone項目/Project“上
按右鍵…選擇”內容/Properties
之後選擇 “應用程式/Application”  分頁 -> 按一下”Assembly Information…“按鈕…
之後你便可以看到”Assembly Information” 資訊了

預設的情況下 “Neutral Language” 的設定是 (none)的
Default settings for Neutral Langauge on Project is (none)

我們可以使用 “Neutral Language” 上的Drop Down List 來選擇適當的語言

Assembly Information - set Neutral Language

完成之後按 “確定/OK
之後從新Compile你的程式..
之後再次Upload 到 AppHub Marketplace 便可以了

Hope you find it useful

Windows Phone 7 Mango Update – Samsung Omnia 7 Mango Update Available Now

很多傳聞說 Microsoft 將於2011年9月27日推出 Windows Phone 7 MangoWindows Phone 7 手機
今天因為手機有很多相片的關係.所以把手機連接了電腦準備過相片..
誰不知Zune便彈出了一個信息

There’s an available update for your phone, but first you need to update the Zune software. Please read the updae detail below for information about the phone update, the click update Now to update the Zune Software.”

Available update: for Windows Phone 7 for ISV beta (7720)
Welcome to the Windows Phone ‘Mango’ ISV beta!
Your phone will be updated to the final build (version 7720)”

之後我便按了”Update Now
Need to update Zune in order to update Windows Phone 7 to Windows Phone 7.5
電腦便開始幫我Download最新的Zune
Downloading Zune
Download 完成後便出現License Agreement
Accept License
選擇”Accept“後便出現一個選擇”Install“或”Cancel
選擇”Install” 後開始安裝最新版本的Zune

正在安裝Zune
Installing Zune
Zune Software Installation Complete 我可以開始Install我的Mango Update
Zune Software Installation Completed

再次連接 Windows Phone 7到你的電腦上.. 之後開啟 “Zune

之後選擇”Settings” ->”Phone” ->”Update
你便會看到
A update is available for your phone
Available update: Update for Windows Phone 7(7720)
Available update: Update for Windows Phone 7(7720)
按一下”Update” 便會去到Update的版面了

有小小簡介說明Update大概需時30分鐘
在Update其間..手機不能接電話或撥出
最重要是不好disconect 你的手機

由於Update過程中..有一個步驟是Backup..所以建議你先把手機的相片和Video/Music 移出手機外..以減小要Backup 的時間
準備好之後便可以按”Update Now” 了
Installing Update for ISA Beta(7720)
由於我的手機上有Developer Mango Beta的關係..
所以要先把手機更新到 ISV Beta(7720) Final Build

Installing Update for ISA Beta(7720)
更新完成了..繼續檢查更新

更新完成了..繼續檢查更新
之後發現 Updates Installed:1
現在要安裝 “Mango ISA Beta Bundle: Cleanup

This Update which will clean up any Beta Update provisioning on your phone so that It can begin receiving updates from Production Microsoft Update Server
主要是用來移除很久以前的Mango beta
Mango ISA Beta Bundle: Cleanup

更新完成後.. 又再一次檢查更新
Checking for Additional Update

Update Installed:2 Installing update: Samsung Update for Windows Phone
這次找到了 “Samsung Update for Windows Phone” – 這次應該是安裝Mango
Samsung Update for Windows Phone

在安裝過程中… 其中一個步驟是Create Backup
當更新過程出現問題時.. 可以用這個Backup來回復到沒有安裝更新的狀態
Create Backup 之後便開始安裝更新了
Create Backup for your Windows Phone 7
更新完成了..
Windows Phone 7.5 Update Successfully
我的Samsung Omnia 7 更新到Windows Phone 7.5 Mango (7720)
Windows Phone Updated to 7720 and Backup file
以下有一些有用的資料..如果你的Windows Phone 7還沒有通知你更新..
可以參考以下網頁

Phone Update International Schedule
更新的FAQ
Phone Update FAQ

Hope you find it useful