我正在尝试创建一个Windows 8.1应用程序,并想知道是否有一个控件允许我在XAML中创建类似弹出窗口或消息框的内容,覆盖大约80%的屏幕,屏幕两侧有一些边距?就像我们点击一个按钮一样,除了打开的弹出窗口之外,屏幕亮度变暗。作为一个例子,我附上了一张图片。Example from windows settings
答案 0 :(得分:0)
除了MessageBox之外,还没有一个内置控件来执行此操作。通过创建一个部分不透明背景的网格和三行中间的控件,可以很容易地在Xaml中实现自己。在此实现中,行和列将调整为放置在中心的控件的大小。如果您愿意,也可以更直接地设置这些尺寸。
<Grid Background="{ThemeResource DimmedBrush}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- Coloured background for the center row -->
<Rectangle Grid.Row="1" Grid.ColumnSpan="3" Fill="{ThemeResource AppThemeBrush}" />
<!-- User control with the contents in the center row + column -->
<local:MyControls Grid.Row="1" Grid.Column="1" />
</Grid>
有第三方库包含这样的控件。例如,请参阅Callisto&#39; s CustomDialog。