kann man zwei popups in einem Control haben?

  • WPF

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Thomas2705.

    Ich weiß nicht ob es nur mir so geht, aber aus dem kurzen und bündigen Text kann ich im Prinzip gar nichts erschließen.
    Was meinst du mit "PopUp"? Eine Messagebox? Eine Form mit Show(Dialog)? Ein Werbefenster eines Browsers?
    Was kann dein Control "haben"? Meinst du einen speziellen Zustand?

    Bitte erläutere anhand eines kleinen Beispiels was du überhaupt erreichen willst.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    EugenIS schrieb:

    geht das?
    Spoiler anzeigen

    XML-Quellcode

    1. <Window x:Class="MainWindow"
    2. xmlns=[url]http://schemas.microsoft.com/winfx/2006/xaml/presentation[/url]
    3. xmlns:x=[url]http://schemas.microsoft.com/winfx/2006/xaml[/url]
    4. xmlns:d=[url]http://schemas.microsoft.com/expression/blend/2008[/url]
    5. xmlns:mc=[url]http://schemas.openxmlformats.org/markup-compatibility/2006[/url]
    6. xmlns:local="clr-namespace:PopUp"
    7. mc:Ignorable="d"
    8. Title="MainWindow" Height="350" Width="525">
    9. <StackPanel>
    10. <CheckBox Name="myCheckBox" Margin="10,10,0,0" Content="Popup Window"/>
    11. <Button HorizontalAlignment="Left" Width="129" Margin="10,10,0,0" Height="29">
    12. <Button.Triggers>
    13. <EventTrigger RoutedEvent="Button.Click">
    14. <BeginStoryboard>
    15. <Storyboard>
    16. <DoubleAnimation Storyboard.TargetName="myTransform"
    17. Storyboard.TargetProperty="(RotateTransform.Angle)"
    18. From="0" To="360" Duration="0:0:1" AutoReverse="True"/>
    19. </Storyboard>
    20. </BeginStoryboard>
    21. </EventTrigger>
    22. </Button.Triggers>
    23. </Button>
    24. <Popup IsOpen="{Binding ElementName=myCheckBox, Path=IsChecked}"
    25. PlacementTarget="{Binding ElementName=myCheckBox}"
    26. AllowsTransparency="True"
    27. PopupAnimation="Slide"
    28. HorizontalOffset="150"
    29. VerticalOffset="120">
    30. <Canvas Width="100" Height="20" Background="Green" Margin="150">
    31. <Canvas.RenderTransform>
    32. <RotateTransform x:Name="myTransform" />
    33. </Canvas.RenderTransform>
    34. <TextBlock Width="Auto" Height="Auto" Foreground="Yellow">Welt</TextBlock>
    35. </Canvas>
    36. </Popup>
    37. <Popup IsOpen="{Binding ElementName=myCheckBox, Path=IsChecked}"
    38. PlacementTarget="{Binding ElementName=myCheckBox}"
    39. AllowsTransparency="True"
    40. PopupAnimation="Slide"
    41. HorizontalOffset="150"
    42. VerticalOffset="100">
    43. <Canvas Width="100" Height="20" Background="Blue" Margin="150">
    44. <TextBlock Width="Auto" Height="Auto" Foreground="White">Hallo</TextBlock>
    45. </Canvas>
    46. </Popup>
    47. </StackPanel>
    48. </Window>
    Ich animiere eines davon via Button, weil ich nicht weis, was du mit 'Ich würde gerne je nach dem, was mein Cotrol hat' genau meinst...
    Um ein wenig verständlicher zu sein:

    Habe ein Control, der einen Datenbankeintrag hat oder halt nicht... Was genau der Datenbank Eintrag ist, ist nebensächlich. Je nach dem, ob es den Datenbankeintrag gibt, oder nicht soll entweder das eine Popup oder das andere angezeigt werden...

    XML-Quellcode

    1. <Grid>
    2. <Popup PlacementTarget="{Binding ElementName=Mouse}" Placement="MousePoint"...></Popup>
    3. <Popup></Popup>
    4. </Grid>



    VB.NET-Quellcode

    1. Me.PopUp.IsOpen = True


    Dem PopUp ordnest Du ein Element zu; so viele wie Du brauchst.
    Übrigens hat er das PopUp im StackPanel nicht z.B. in der TextBox.