【发布时间】:2016-03-15 14:52:41
【问题描述】:
我有一个用户控件,它是 wpf 窗口的一部分。
<Window>
<Grid>
<!--some other display elements would be here-->
<local:MyUserControl x:Name="Foo" Padding="0,42,0,50"/>
</Grid>
</Window>
在 MyUserControl 中,我有一个元素,它通常是隐藏的画廊,但当它可见时,它应该会填满整个屏幕。
<UserControl>
<Grid>
<!--main display elements would be here-->
<Grid Name="Gallery" Visibility="Hidden">
<Rectangle Fill="Black" Opacity="0.75"/>
<TextBlock Name="GalleryLabel" Foreground="White" TextAlignment="Center">Current Image Title</TextBlock>
<Button Name="CloseGallery" Style="{DynamicResource WhiteTextButton}" Margin="0,0,0,0" Height="25" VerticalAlignment="Top" HorizontalAlignment="Right" Width="25" Click="GalleryClose_OnClick">X</Button>
<Image Name="GalleryImage" Margin="25"/>
</Grid>
</Grid>
</UserControl>
如何设置 Gallery 以填充整个 Window 而不仅仅是 UserControl?
我可以通过将 Margin="0,-42,0,-50" 添加到 Gallery 来使其工作,但我不喜欢该解决方案。我宁愿做一些不涉及在 UserControl 中硬编码值的事情,这样我就可以更灵活地使用它。
通常它看起来像: 其中绿色的 Foo 区域是 MyUserControl,窗口中其余的东西是其他元素。
在某些时候,我有一个画廊显示一个图像,它应该填满整个屏幕,如: 它应该填满整个屏幕并有一个黑色的不透明覆盖层,并在覆盖层顶部显示一个图像。
【问题讨论】:
标签: wpf user-controls window wpf-controls