我有一個wp7的應用程序欄中的一些按鈕。 當每個按鈕被按下時,我改變應用欄菜單的menuItems。 之後,我想在按下應用程序欄按鈕時自動打開菜單。以編程方式顯示應用程序欄菜單(wp7)
但似乎SDK不允許我這樣做。
你知道任何解決辦法嗎?
我一直在想,如果上述不可能,模擬用戶手指點擊屏幕的右下角打開菜單。有關於此的任何想法?
Thanx提前
我有一個wp7的應用程序欄中的一些按鈕。 當每個按鈕被按下時,我改變應用欄菜單的menuItems。 之後,我想在按下應用程序欄按鈕時自動打開菜單。以編程方式顯示應用程序欄菜單(wp7)
但似乎SDK不允許我這樣做。
你知道任何解決辦法嗎?
我一直在想,如果上述不可能,模擬用戶手指點擊屏幕的右下角打開菜單。有關於此的任何想法?
Thanx提前
據我所知,這種功能尚未公開。在測試版中這是不可能的,我沒有注意到任何改變,因爲這將允許它。你可以隨時在他們的建議論壇發表評論,或在連接時提出(vs/wpdt)。
如下面代碼所示,可以更改應用程序欄菜單項以響應圖標按鈕單擊。
沒有辦法通過代碼強行打開(或關閉)應用程序欄。
也不可能模擬應用程序欄上的手指點擊,因爲這不是實際頁面的一部分。請注意,即使可能,如果設備處於橫向方向,任何點擊都需要位於右上角或左下角。
下面是一些代碼這表明改變菜單項:
public partial class MainPage : PhoneApplicationPage
{
private ApplicationBar appbar;
public MainPage()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
appbar = new ApplicationBar();
var ib1 = new ApplicationBarIconButton(new Uri("/images/one.png", UriKind.Relative)) { Text = "Option one" };
ib1.Click += new EventHandler(ShowMenuOption1);
var ib2 = new ApplicationBarIconButton(new Uri("/images/two.png", UriKind.Relative)) { Text = "Option two" };
ib2.Click += new EventHandler(ShowMenuOption2);
appbar.Buttons.Add(ib1);
appbar.Buttons.Add(ib2);
// Show menu option 1 as default
DisplayMenuOption1();
this.ApplicationBar = appbar;
}
private void DisplayMenuOption1()
{
appbar.MenuItems.Clear();
var itemA = new ApplicationBarMenuItem("AAAA");
var itemB = new ApplicationBarMenuItem("BBB");
appbar.MenuItems.Add(itemA);
appbar.MenuItems.Add(itemB);
}
private void DisplayMenuOption2()
{
appbar.MenuItems.Clear();
var itemC = new ApplicationBarMenuItem("CCCC");
var itemD = new ApplicationBarMenuItem("DDDD");
appbar.MenuItems.Add(itemC);
appbar.MenuItems.Add(itemD);
}
private void ShowMenuOption2(object sender, EventArgs e)
{
DisplayMenuOption2();
}
private void ShowMenuOption1(object sender, EventArgs e)
{
DisplayMenuOption1();
}
}
這是真棒。正是我在找的! – webdad3 2010-12-24 17:25:55
+1就無法打開,用戶必須作出行動 – 2010-12-17 09:52:12