我目前正在为 Windows 开发 Twitter 应用程序,类似于 OSX 的 Twitter 客户端。
我正在使用 Windows Shell 扩展库,发现 here使整个窗口具有Aero效果,并且能够超出指定窗口位置的范围。
我希望窗口按钮(最小化、最大化、关闭)显示在白色背景的网格顶部。我认为这是 Windows 中内置的功能,但显然我错了。
下面的两张图片说明了我的观点。在第二张图片中,我希望窗口按钮优先于白色背景网格,而不是如图所示的相反。
是否有某种代码片段或 XAML 片段可以帮助我?以前有其他人遇到过这个问题吗?
最佳答案
我偶然发现了一个简单但肮脏的解决方案。我只是制作了一条绕过 Windows 按钮外部的路径,并将外部背景设置为白色,或者我使用的任何背景颜色。然后我只是将矩形拼凑在一起,使其看起来很漂亮。
这是生成的代码:
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Top" Grid.Row="0" Height="20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.0*" />
<ColumnDefinition Width="105" />
<ColumnDefinition Width="5" />
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Fill="#FFFFFFFF" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
<Path HorizontalAlignment="Stretch" Grid.Column="1" Stretch="Fill" VerticalAlignment="Bottom" Height="20" Fill="#FFFFFFFF" Data="M 0,4.11334L 4.008,4.11334C 1.792,4.11334 0,2.27332 0,0L 0,4.11334 Z M 140,4.11334L 135.957,4.11334C 138.192,4.11334 140,4.11334 140,0L 140,4.11334 Z " />
<Border Grid.Column="2" CornerRadius="0, 10, 0, 0" Background="#FFFFFFFF" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</Grid>
这是生成的图像:
关于c# - 将窗口按钮置于前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9746677/