1

我在下面的 Xaml 中有一个页面,我想像 ModalDialog 一样使用它。

问题是当我弹出对话框时,保存内容的第二个网格的不透明度没有更改回 100%,我从弹出的页面中看到了底层控件。有关更多详细信息,请参阅屏幕截图。

有没有办法可以将第二个网格的不透明度改回 100%,使其后面的任何控件都无法看穿?

为了完整性,我添加了我用来弹出弹出窗口的代码。

模态对话框 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

这是 metro 的解决方案:

请删除这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 回答