【问题标题】:WPF Rounded Corners background bleeding throughWPF圆角背景渗出
【发布时间】:2010-10-03 05:14:08
【问题描述】:

我正在首次涉足 WPF - 我有一个简单的表单,其中包含为内联帮助定义的弹出窗口。我正在使用圆角,由于某种原因,黑色背景在角落周围渗出。我不明白是哪个元素导致了问题。

alt text http://www.awbrey.net/rounded.jpg

我认为这是我没有看到的非常明显的东西。这是我正在使用的 XAML:

<Window x:Class="Consent.Client.SubjectNumberEntry"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" FontSize="24"
    Title="SubjectNumberEntry" WindowStyle="None" WindowState="Maximized"
        xmlns:h="clr-namespace:Consent.Client" KeyDown="windowOuter_KeyDown" Background="White" Name="windowOuter" AllowsTransparency="true" Loaded="Window_Loaded">

    <StackPanel Height="400" DockPanel.Dock="Top" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10">
        <StackPanel Height="60" Orientation="Horizontal" VerticalAlignment="Center">
            <TextBox Name="txtSubjectNumber" Margin="10" Width="400" KeyDown="txtSubjectNumber_KeyDown" h:HelpProvider.HelpString="Enter the subject identifier, or scan their wristband">
                <TextBox.ToolTip>This is a textbox</TextBox.ToolTip>
            </TextBox>
            <Button Name="btnEnter" Margin="10" Width="100" Click="btnEnter_Click">Enter</Button>
            <Button Width="50" Name="btnHelp" Margin="10" Click="btnHelp_Click">?</Button>
            <Button Width="50" Name="btnExit" Margin="10" Click="btnExit_Click">Exit</Button>


        </StackPanel>
        <Label Name="lblValue" Margin="10"></Label>


        <Popup Placement="Bottom" HorizontalAlignment="Center" VerticalOffset="10" MouseDown="popHelp_MouseDown" PopupAnimation="Fade" Name="popHelp" PlacementTarget="{Binding ElementName=txtSubjectNumber}">
            <Border Padding="10" Margin="10" BorderBrush="CornflowerBlue" BorderThickness="1" CornerRadius="10" Background="CornflowerBlue">
                <TextBlock FontSize="12" Background="CornflowerBlue">This is the content of the help box.</TextBlock>
            </Border>
        </Popup>

    </StackPanel>


</Window>

【问题讨论】:

    标签: wpf xaml rounded-corners


    【解决方案1】:

    我认为是 Popup 导致了问题。尝试在弹出窗口中将 AllowsTransparency 设置为 True。

    Popup.AllowsTransparency

    当设置为 False 时,任何透明颜色都会与黑色“合并”。

    【讨论】:

      【解决方案2】:

      您还可以将弹出窗口包裹在圆角边框中。如果您无法更改弹出窗口的 AllowsTransparency,这将非常有用。

      类似这样的:

      <Border CornerRadius="10">
          <Popup Placement="Bottom" HorizontalAlignment="Center" VerticalOffset="10" MouseDown="popHelp_MouseDown" PopupAnimation="Fade" Name="popHelp" PlacementTarget="{Binding ElementName=txtSubjectNumber}">
              <Border Padding="10" Margin="10" BorderBrush="CornflowerBlue" BorderThickness="1" CornerRadius="10" Background="CornflowerBlue">
                  <TextBlock FontSize="12" Background="CornflowerBlue">This is the content of the help box.</TextBlock>
              </Border>
          </Popup>
      </Border>
      

      【讨论】:

        猜你喜欢
        • 2021-11-10
        • 1970-01-01
        • 2012-06-16
        • 1970-01-01
        • 1970-01-01
        • 2011-08-23
        • 1970-01-01
        • 2013-04-28
        • 2011-03-22
        相关资源
        最近更新 更多