4

それで、私の問題は何ですか?私はを持っていますpopup、そしてそれを開くとき、私は私のウィンドウズフォンアプリケーションで現在のページを無効にしたいです。だから私はこれを作りますthis.IsEnabled = false;しかし私のApplicationBarはまだ利用可能です。もちろん、私は試してみます:

ApplicationBar.IsMenuEnabled = false;

私の次のアイデアは、次のようなことをすることでした。

for (int i = 0; i < ApplicationBar.MenuItems.Count; i++)
{
    ((ApplicationBarMenuItem)ApplicationBar.Buttons[i]).IsEnabled = false;
}

それでも結果はありません。以前にそれが行われたことは確かですが、その方法を教えていただけますか?

4

5 に答える 5

14

アプリケーション バーは、Buttons コレクションと MenuItems コレクションで構成されます。あなたの例では、次のようなものを試してみたいでしょう

foreach (var button in ApplicationBar.Buttons)
{
    ((ApplicationBarIconButton) button).IsEnabled = false; // disables the button
}

ApplicationBar.IsMenuEnabled = false; // this will prevent menu from opening

これが機能しない場合、アプリ バーを非表示にすることを検討しましたか?
ApplicationBar.IsVisible = false;

于 2012-10-05T22:25:53.123 に答える
2

残念ながら、この投稿によると、メニューを閉じて再度開くまで、のIsEnabledプロパティの設定が受け入れられないというバグがあります。ApplicationBarMenuItem

于 2012-10-29T09:45:14.583 に答える
0

Microsoft.Phone.Shellを使用して.csファイル内の名前空間を取得するだけで、次のことができます。

ApplicationBar.Enable();

ApplicationBar.Disable();

http://new.efficientcoder.net/2010/10/windows-phone-7-quick-tip-17.htmlによると

于 2012-10-05T14:51:51.853 に答える
0

これを試して :

xaml:

<shell:ApplicationBar IsVisible="False">

.cs

Dispatcher.BeginInvoke(() =>
            {
                UIHelper.ToggleVisibility(Canvas_LocationAR_Trans);
                UIHelper.ToggleVisibility(Grid_LocARLoadingGrid);
                **ApplicationBar.IsVisible = true;**
            });
于 2013-07-26T07:17:04.573 に答える