我有問題。我有一個電話簿的應用程序。我想在主屏幕上點擊平鋪後創建Tile(在Windows Phone主屏幕中),這將會調用該數字。WP7中特別開始應用的新瓷磚
這可能嗎?我該怎麼做才能做出這樣的事情?我可以創建自定義Tile或者我應該在應用程序啓動後創建一些方法?
我有問題。我有一個電話簿的應用程序。我想在主屏幕上點擊平鋪後創建Tile(在Windows Phone主屏幕中),這將會調用該數字。WP7中特別開始應用的新瓷磚
這可能嗎?我該怎麼做才能做出這樣的事情?我可以創建自定義Tile或者我應該在應用程序啓動後創建一些方法?
創建的東西,如下面的代碼動態磁貼:
string number = "000 - 000 000";
ShellTile tile = ShellTile.ActiveTiles.FirstOrDefault(t => t.NavigationUri.ToString().Contains("phone=" + number));
if (tile == null)
{
StandardTileData tileData = new StandardTileData();
tileData.Title = "Call " + number;
ShellTile.Create(new Uri("/MainPage.xaml?phone=" + number, UriKind.Relative), tileData);
}
,然後覆蓋在MainPage.xaml中的的OnNavigatedTo,並添加以下代碼:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (NavigationContext.QueryString.ContainsKey("phone"))
{
string number = NavigationContext.QueryString["phone"];
PhoneCallTask task = new PhoneCallTask();
task.PhoneNumber = number;
task.Show();
}
base.OnNavigatedTo(e);
}
如果您還沒有這樣做但是,您還需要在WMAppManifest.xml
文件中添加"ID_CAP_PHONEDIALER"
功能,否則在調用上述task.Show();
時會發生異常。
現在你有一個動態磁貼被點擊將啓動應用程序,並撥打該號碼時(用戶仍然必須確認它在一個對話框,雖然,這是你無法禁用)
它與我的問題有關,所以也請多謝 – boski
你也可以使用CodePlex的Mangopollo庫創建輔助活動圖塊:http://mangopollo.codeplex.com/
這就是我應該這樣做的方式。謝謝! – boski