欣賞WP7 ApplicationBarIcon不是標準控件。WP7 ApplicationBarIcon可見性
我需要能夠以編程隱藏該(I需要隱藏,而不是禁用)
1 /是否有任何其他辦法可以比添加/刪除的圖標爲此其他
2 /假設我必須添加和刪除它,如何將事件關聯到我添加的控件?
- 感謝
欣賞WP7 ApplicationBarIcon不是標準控件。WP7 ApplicationBarIcon可見性
我需要能夠以編程隱藏該(I需要隱藏,而不是禁用)
1 /是否有任何其他辦法可以比添加/刪除的圖標爲此其他
2 /假設我必須添加和刪除它,如何將事件關聯到我添加的控件?
下面顯示:在代碼中創建一個appbar;添加一個按鈕(包括「點擊」事件處理程序);並刪除特定的按鈕。
this.ApplicationBar = new ApplicationBar();
var newButton = new ApplicationBarIconButton();
newButton.IconUri = new Uri("/images/remove.png", UriKind.Relative);
newButton.Text = "remove";
newButton.Click += RemoveAppBarButton;
this.ApplicationBar.Buttons.Add(newButton);
void RemoveAppBarButton(object sender, EventArgs e)
{
for (var i = 0; i < this.ApplicationBar.Buttons.Count; i++)
{
var button = this.ApplicationBar.Buttons[i] as ApplicationBarIconButton;
if (button != null)
{
if (button.Text == "remove")
{
this.ApplicationBar.Buttons.RemoveAt(i);
break;
}
}
}
}
重要的是要注意的是,您不能通過名稱引用按鈕(或菜單項)。
1)ApplicationBarIcons不支持某種可視性財產。你唯一能做的就是刪除並添加它們。另一種解決方案是禁用它們,因爲這會產生更一致的用戶界面。在顯示4個圖標並刪除其中2個的情況下,圖標被重新對齊,圖標現在位於其他按鈕已經存在的位置。這可能會讓用戶感到困惑,因爲他習慣於單擊現在執行不同操作的右側的第二個按鈕。
2)當我不得不處理這個問題時,我創建了一個管理類,它包含我需要的所有圖標。當刪除一個圖標時,我只是將它從ApplicationBar中刪除,但保留在我的課程中。稍後,我可以使用與以前完全相同的實例將所有現有事件附加到ApplicationBar上,將圖標添加回到ApplicationBar。
ApplicationBar是Windows Phone 7上的一件事,令我失望的是我比較好的整體框架。
希望這有助於...
我猜這是wp7自帶的電子郵件應用程序的工作原理嗎?我想知道如何在單擊「多選」按鈕時更改ApplicationBar。 –
再次抱歉...如果我想,我可以在xaml中定義ApplicationBar,然後在特殊情況下添加一個新按鈕(如果我需要的話)? –
@Luke電子郵件應用程序不是用Silverlight編寫的,但可能會做類似的事情。是的,你可以在XAML中定義它,並在代碼中引用它,但是你不能通過名稱來引用appbar的內容。 –