2014-02-22 32 views
0

我想做一个带圆角的简单登录表单。下面是具有以下形式的屏幕截图:如何防止通过边框显示网格的底部边缘

enter image description here

有一个在底部的线段;它是透明的。请告诉我如何改变我的XAML以摆脱这条线。

这是我的XAML:

<Window x:Class="Login" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="Login" WindowStyle="None" AllowsTransparency="True" Background="Transparent" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="194" d:DesignWidth="358" SizeToContent="WidthAndHeight"> 
<Border BorderBrush="#9DE5F5" BorderThickness="4" CornerRadius="8" Width="343"> 
    <Grid Background="#9DE5F5" Width="337" ShowGridLines="False" > 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="108*" /> 
      <ColumnDefinition Width="286*" /> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*" /> 
      <RowDefinition Height="*" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <Grid.Resources> 
      <Style TargetType="{x:Type TextBlock}"> 
       <Setter Property="FontSize" Value="16" /> 
       <Setter Property="FontWeight" Value="DemiBold" /> 
       <Setter Property="VerticalAlignment" Value="Center" /> 
       <Setter Property="HorizontalAlignment" Value="Right" /> 
       <Setter Property="Padding" Value="8" /> 
       <Setter Property="Foreground" Value="Black" /> 
      </Style> 
      <Style TargetType="{x:Type TextBox}"> 
       <Setter Property="Margin" Value="5,10,15,5" /> 
       <Setter Property="FontSize" Value="16" /> 
      </Style> 
      <Style TargetType="{x:Type PasswordBox}"> 
       <Setter Property="Margin" Value="5,10,15,5" /> 
       <Setter Property="FontSize" Value="16" /> 
      </Style> 
     </Grid.Resources> 
     <TextBlock Grid.Column="0" Grid.Row="0" >Username:</TextBlock> 
     <TextBlock Grid.Column="0" Grid.Row="1" >Password:</TextBlock> 
     <TextBox Grid.Column="1" Grid.Row="0" Name="txtUserName" Background="White" /> 
     <PasswordBox Grid.Column="1" Grid.Row="1" Name="txtPassword" Background="White" PasswordChar="*" /> 
     <Button Grid.Column="1" Grid.Row="2" HorizontalAlignment="Right" Margin="10,10,15,10" Width="80" FontWeight="Bold" FontSize="13" Background="SteelBlue">Login</Button> 
     <Button Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="10,20,5,10" Width="30" Background="Red" Foreground="White" >X</Button> 
    </Grid> 
</Border> 

回答

0

由于在Border的4PX边界是相同的颜色,你应该刚刚摆脱它的Grid

如果它们是相同的颜色,通常会有一些可见的行,从边界到实际背景的过渡发生在这种情况下。

我会通过设置在Border而不是GridBackground,并完全去除从BorderBorderThicknessBorderBrush性修复它。

看起来很细我的电脑上:-)

<Border Background="#9DE5F5" CornerRadius="8" Width="343"> 
    <Grid ShowGridLines="False"> 
    .... 
</Border> 
1

添加-1的利润率是一个快速的技巧,但摆脱它。

<Grid Background="White" Width="337" ShowGridLines="False" Margin="-1"> 
相关问题