Frage

Ich habe eine Benutzersteuerung, die Ich mag würde zeigen, wenn der Benutzer auf eine Schaltfläche klickt. Das ist kein Problem, af Popup-Steuerung.

Allerdings würde Ich mag 0,5-1,2 dem Benutzer die Kontrolle Einblend- und Skala haben, und zurück auf 1,0 (beide X und Y) in der gleichen Zeit.

Wie kann ich das tun?

War es hilfreich?

Lösung

WPF Popups sind nicht transparent, so verblassen in und Fade-out wird nicht wirklich funktionieren. Sie können Opazität einstellen alles, was Sie wollen, aber das wird nichts ändern. Sie können jedoch mit dem Tooltip spielen. Es ist ziemlich nahe an einem Popup. Wie auch immer, hier ist etwas für den Anfang:

<UserControl x:Class="WpfApplication1.UserControl1"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<UserControl.Style>
    <Style>
        <Style.Triggers>
            <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                <BeginStoryboard>
                    <Storyboard>
                        <DoubleAnimation Storyboard.TargetProperty="Opacity" Duration="00:00:02" From="0" To="1" />
                    </Storyboard>
                </BeginStoryboard>                  
            </EventTrigger>
            <Trigger Property="FrameworkElement.Visibility" Value="Collapsed">
                <Setter Property="FrameworkElement.Opacity" Value="0"/>             
            </Trigger>
        </Style.Triggers>
    </Style>
</UserControl.Style>
<Border x:Name="border" BorderBrush="Blue" BorderThickness="3" CornerRadius="3" Padding="3" Background="Orange"
    Width="175" Height="175">
    <TextBlock Text="Sample" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>

plop es irgendwo, ich auf der gleichen Taste, um einen Tooltip verwende, nur zu Demonstrationszwecken:

<Button Click="OnButtonClick" Content="click to see popup">
        <Button.ToolTip>
            <ToolTip x:Name="popup" IsOpen="False" Background="Transparent" BorderBrush="Transparent" 
                     Placement="Bottom">
                <WpfApplication1:UserControl1/>
            </ToolTip>
        </Button.ToolTip>
    </Button>

für OnButtonClick Code hinter, ich toggleed nur das Popup so klicke ich kann es mehr als einmal:

private void OnButtonClick(object sender, RoutedEventArgs e)
{
    popup.IsOpen = !popup.IsOpen;
}

Andere Tipps

WPF Popups Transparenz umgehen kann, nur setzen die folgende

<Popup AllowsTransparency="True" PopupAnimation="Fade">
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top