WPF Property Change aus Usercontrol Auslösen

  • WPF

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Novaly.

    WPF Property Change aus Usercontrol Auslösen

    Hi brauch mal kurz eure hilfe, ich suche nach einer möglichkeit ein Property change auszulösen im Haupt Fenster aus einer User Control.

    Auf Grund der Sicherheitsstufe läuft das nicht.

    Ich denke mir fehlt das Wissen, wie ich dieses umgehe.

    Wenn ich das Property auf Public Share stelle läuft das RaisePropertyChanged() nicht weil ich in geteilter Property bin.

    Ich denke es gibt eine Möglichkeit ein event auszulösen was den PropertyChang wiederum auslösen kann.

    Ich danke euch im voraus.
    Kurze Erklärung

    Mein Main heist Window9
    Mein User Control heist Listviewtest

    Die Listviewtest ist in Tab eingelassen in Window9

    Was ich nun machen möchte ist wenn ich meine Expender aufklappe im Listviewtest soll ein RaisePropertyChanged in Window9 ausgelöst wird zum aufklappen von Border

    das ausgeben per command und dem befüllen von Daten einer Collection mit der inffo für das Window 9 Klappt ohne Probleme, nur nicht das auslösen der RaisePropertyChanged

    Hier der CODE aus Listviewtest:

    VB.NET-Quellcode

    1. Private Sub CutCommand_Executed(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
    2. Dim RI As Integer = (String.Format("{0}", e.Parameter))
    3. Window9.DTX4.Clear()
    4. T.IsEnabled = False
    5. Window9.DTX4.Add(New DT_OVERX(GETKETTE(DTTEST.Item(RI).KUNDEN_KETTE_NR, DTTEST.Item(RI).KUNDEN_NAME), DTTEST.Item(RI).TECHNIKER_BS.ToString & ": " & DTTEST.Item(RI).TECHNIKER.ToString & vbNewLine & vbNewLine & DTTEST.Item(RI).AFNR_BS.ToString & ": " & DTTEST.Item(RI).AFNR.ToString & vbNewLine & DTTEST.Item(RI).FINFO.ToString, DTTEST.Item(RI).KUNDEN_NR & vbNewLine & DTTEST.Item(RI).KUNDEN_NAME & vbNewLine & DTTEST.Item(RI).KUNDEN_STR & vbNewLine & DTTEST.Item(RI).KUNDEN_PLZ_ORT, DTTEST.Item(RI).DATUM_BS & ": " & DTTEST.Item(RI).DATUM_ST & " / " & DTTEST.Item(RI).DATUM_BS2 & ": " & DTTEST.Item(RI).DATUM_EN, 1))
    6. T.IsEnabled = True
    7. End Sub



    Bei dem Oberen Event soll im Window9
    das hier eine wert erhalten:

    VB.NET-Quellcode

    1. Public Property _FLOGO As Integer = 0
    2. Public Property FLOGO() As Integer
    3. Get
    4. Return _FLOGO
    5. End Get
    6. Set(ByVal value As Integer)
    7. _FLOGO = value
    8. RaisePropertyChanged()
    9. End Set
    10. End Property


    Damit ich via XAML den integer tiggern kann. Mit Datenbindung zu einen Property in Listviewtest läfts nicht, weil die Listviewtest erst nachgeladen wird und nicht schon vorher vorhanden ist

    Danke schon mal
    Für welches Objekt/welche Variable?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Wie initialisierst Du denn Window9 im Listview?
    du scheinst nur mit Code behind zu arbeiten und nicht mit ViewModels. Du könntest Window9 im Konstruktor von deinem UC mitgeben und hast dann Zugriff auf Flogo
    "Hier könnte Ihre Werbung stehen..."
    Einbettung via XAML in Window9

    XML-Quellcode

    1. <TabItem Header="TabItem1" Height="0" Background="Transparent" BorderThickness="0">
    2. <local:Listviewtest Height="auto" Width="auto" Background="Transparent"/>
    3. </TabItem>


    Läuft alles prima.

    wenn ich Inherits Window9 verwende
    verursacht es mir eine Fehler den ich nicht verstehe >
    Fehler BC30928 Die für die Listviewtest-Klasse festgelegte UserControl-Basisklasse darf sich nicht von der Window9-Basisklasse eines ihrer anderen partiellen Typen unterscheiden.

    Ich sehe vor lauter Bäumen den wöd nicht mehr...