1

Xamlのようなページがあり、その下にModalDialogのように使用したいと思います。

問題は、ダイアログをポップアップすると、コンテンツを保持する2番目のグリッドの不透明度が100%に戻らず、ページから、基になるコントロールがポップアップされていることを確認できることです。詳細については、スクリーンショットを参照してください。

2番目のグリッドの不透明度を100%に戻して、背後のコントロールが透けて見えないようにする方法はありますか?

完全を期すために、ポップアップを表示するために使用しているコードを追加しました。

ModalDialog Xaml:

<Page>
    <Grid x:Name="RootPanel" Background="{StaticResource LucentBlue}" Opacity=".75">
         <Border >
              <Grid VerticalAlignment="Center"
                   Height="300" Background="{StaticResource PremiumBlue}" Opacity="1">

              </Grid>
         </Border>
    </Grid>
</Page>

ホストされているページの背後にあるコード:

private Popup _saveDialog;
private void SaveSettingsCommandLogic(object obj)
{
    ModalDialog dlg = new ModalDialog();
    dlg.CloseRequested += DlgOnCloseRequested;
    _saveDialog = new Popup();
    _saveDialog.Child = dlg;
    _saveDialog.IsOpen = true;
}

エラー画像

4

1 に答える 1

0

これがメトロの解決策です:

両方の要素のプロパティを削除してくださいOpacity。ModalDialogクラスの背後にあるコードから、次のコードを使用してください。

    public ModalDialog()
    {
        this.InitializeComponent();
        Color color = Color.FromArgb(150,255,0,0);
        RootPanel.Background = new SolidColorBrush(color);
    }

この方法FromArgbは、透明度の赤、緑、青の値をそれぞれ指定するために使用され、0〜255の範囲で実行できます..都合に合わせてテストしてください:)

于 2012-12-18T12:52:03.627 に答える