我有一个像下面的Xaml中的页面,我想像ModalDialog一样使用。
问题在于,当我弹出对话框时,保存内容的第二个网格的不透明度不会变回100%,我从页面中看到它是Popuped的基础控件。有关详细信息,请参阅屏幕截图。
有没有办法可以将第二个网格的不透明度更改为100%,而它背后无法控制?
对于completneness,我添加了用于调出Popup的代码。
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;
}
答案 0 :(得分:0)
以下是地铁的解决方案:
请删除这两个元素的Opacity
属性,并从ModalDialog类的代码中删除,使用以下代码:
public ModalDialog()
{
this.InitializeComponent();
Color color = Color.FromArgb(150,255,0,0);
RootPanel.Background = new SolidColorBrush(color);
}
方法FromArgb
用于分别指定透明度红绿色和蓝色值,并且可以从0-255开始。请根据您的方便测试:)