【发布时间】:2014-07-17 03:29:02
【问题描述】:
我有一个Window,其中AllowsTransparency 属性设置为true,Background 属性设置为半透明颜色,代码:
<Window x:Class="InstantSnip.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
DataContext="{Binding Main, Source={StaticResource Locator}}"
AllowsTransparency="True"
WindowStyle="None"
ResizeMode="NoResize"
Topmost="True"
Width="180" Height="80"
Background="#7FFFFFFF" >
<Border x:Name="LayoutRoot"
BorderBrush="#99FFFFFF"
BorderThickness="1"
CornerRadius="5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button Style="{StaticResource NewSnipButton}" Margin="5,0"/>
<Button Grid.Column="1" Style="{StaticResource ReTrySnippingButton}" Margin="5,0"/>
<Button Grid.Column="2" Style="{StaticResource CloseButton}" Margin="5,0"/>
</Grid>
</Border>
</Window>
这就是它的样子:
现在,我想将 Background="#7FFFFFFF" 提供给 LayoutRoot 边框而不是窗口,以便颜色可以完全适合并且仅在边框的边框内,当 Background="#7FFFFFFF" 是属性时,情况并非如此正如您在此处看到的那样:
因此,没有大的变化,代码将如下所示:
<Window x:Class="InstantSnip.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
DataContext="{Binding Main, Source={StaticResource Locator}}"
AllowsTransparency="True"
WindowStyle="None"
ResizeMode="NoResize"
Topmost="True"
Width="180"
Height="80">
<Border x:Name="LayoutRoot"
BorderBrush="#99FFFFFF"
Background="#7FFFFFFF"
BorderThickness="1"
CornerRadius="5">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Button Style="{StaticResource NewSnipButton}" Margin="5,0"/>
<Button Grid.Column="1" Style="{StaticResource ReTrySnippingButton}" Margin="5,0"/>
<Button Grid.Column="2" Style="{StaticResource CloseButton}" Margin="5,0"/>
</Grid>
</Border>
</Window>
但我得到的是这个:
我的第一个问题是,为什么?
我的第二个问题是,你能提出一个解决这个问题的方法吗?
【问题讨论】: