2009-01-23 5 views
7

Ich mache meinen ersten Ausflug in WPF - ich habe ein einfaches Formular mit einem Popup für Inline-Hilfe definiert. Ich verwende abgerundete Ecken und aus irgendeinem Grund blutet ein schwarzer Hintergrund um die Ecken. Ich verstehe nicht, welches Element das Problem verursacht.WPF Rounded Corners Hintergrund Blutungen durch

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

Ich nehme an, es ist etwas blendend klar, was ich sehe einfach nicht. Hier ist der XAML, den ich benutze:

<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> 

Antwort

24

Ich denke, es ist das Popup, das das Problem verursacht. Setzen Sie im Popup-Fenster die Einstellung AllowsTransparency auf True.

Popup.AllowsTransparency

Wenn auf False festgelegt, werden alle transparenten Farben werden "verschmolzen" mit schwarz.

+0

, die es taten, danke! – Jason

0

Sie können das Popup auch in einen Rahmen mit abgerundeten Ecken einfügen. Dies ist nützlich, wenn Sie die AllowTransparency des Popups nicht ändern können.

Etwas wie folgt aus:

<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> 
Verwandte Themen