[WPF / XAML] Problem mit DataContext

  • WPF

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    [WPF / XAML] Problem mit DataContext

    Hey VB-Community,

    ich hab da mal wieder ein kleines Problem bzgl. WPF Anwendungen. Ich Versuche gerade innerhalb eines Views (welches einen DataContext hat) 2 weitere Items einzufügen die aber beide einen anderen gemeinsamen DataContext haben.

    Mein derzeitiger Code sieht ungefähr so aus (darf den Originalcode nicht zeigen)

    XML-Quellcode

    1. <!-- -Snip- hier steht noch jede menge anderer Code -Snip- -->
    2. <Grid Grid.Column="1" Grid.ZIndex="5000" Visibility="{Binding Path=QuickHelpIsActive, Converter={converter:BooleanToVisibilityConverter}, Mode=OneWay}">
    3. <Grid.DataContext>
    4. <Dialoge:QuickHelpViewModel />
    5. </Grid.DataContext>
    6. <Frame
    7. Width="350"
    8. Height="53"
    9. Margin="0 2 3 0"
    10. VerticalAlignment="Top"
    11. HorizontalAlignment="Right"
    12. >
    13. <Frame.Content>
    14. <Canvas Width="350" Height="53">
    15. <Rectangle Canvas.ZIndex="1" Width="350" Height="53" StrokeThickness="1" RadiusX="6" RadiusY="6">
    16. <Rectangle.Fill>
    17. <SolidColorBrush>
    18. <SolidColorBrush.Color>
    19. <Color A="255" R="71" G="73" B="76" />
    20. </SolidColorBrush.Color>
    21. </SolidColorBrush>
    22. </Rectangle.Fill>
    23. <Rectangle.Stroke>
    24. <SolidColorBrush>
    25. <SolidColorBrush.Color>
    26. <Color A="255" R="110" G="110" B="110" />
    27. </SolidColorBrush.Color>
    28. </SolidColorBrush>
    29. </Rectangle.Stroke>
    30. </Rectangle>
    31. <Label Canvas.ZIndex="2" Width="350" Height="53" Content="Hallo Welt!" VerticalContentAlignment="Top" HorizontalContentAlignment="Left" Padding="5 5 0 0 " Foreground="White" />
    32. </Canvas>
    33. </Frame.Content>
    34. </Frame>
    35. </Grid>
    36. <!-- -Snip- hier steht noch jede menge anderer Code -Snip- -->
    37. <MenuItem
    38. Header="{localizer:Translate global.aktion.QuickHelp}"
    39. Command="{Binding Path=CommandToggleQuickHelp}"
    40. Style="{StaticResource {x:Type MenuItem}}" >
    41. <MenuItem.DataContext>
    42. <Dialoge:QuickHelpViewModel/>
    43. </MenuItem.DataContext>
    44. </MenuItem>
    45. <!-- -Snip- hier steht noch jede menge anderer Code -Snip- -->


    Das Problem ist, dass ich auf diese Weise 2 Objekte des QuickHelpViewModels habe.
    Wie kann ich's am elegantesten Lösen, dass diese beiden Items einen gemeinsamen DataContext haben.

    (Beide in ein Grid stecken ist nicht möglich, da das MenuItem irgendwo mitten im Fenster ein Teil eines DropDown ist und das Grid ist ein "Tooltip" der Rechts oben in dem Fenster eingeblendet wird)

    Bin für jede hilfreiche Antwort dankbar!

    Grüße
    misbe
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^