Laden...

Aufruf einer Methode mit Parameter

Erstellt von bl4ckY vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.158 Views
B
bl4ckY Themenstarter:in
193 Beiträge seit 2009
vor 13 Jahren
Aufruf einer Methode mit Parameter

Hallo,

habe eine kurze Frage. Ich erstelle dynamisch Tabitems die wiederrum sollen sich dynamisch mit Inhalt aus einem Dictionary füllen. Um aber an die Werte zu kommen muss ich beim Aufruf den Namen des aktuell gewählten Tabitems übergeben.

<UserControl.DataContext>
        <ObjectDataProvider
      ObjectType="{x:Type client:ImageList}"
            MethodName="LoadImages">
            <ObjectDataProvider.MethodParameters>
                <system:string>{Binding ElementName=tabControl, Path=SelectedItem}</system:string>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
    </UserControl.DataContext>

Kann man hier überhaupt ein Binding machen? Wenn ja, wie? 😃 Wäre lieb wenn mir da einer auf die Spünge helfen kann.

B
bl4ckY Themenstarter:in
193 Beiträge seit 2009
vor 13 Jahren

Habe Struktur geändert und das Problem somit gelöst. Wäre aber trotzdem schön zu wissen ob es so funktioniert? Google wusste nichts. Kommt schon Leute hier sind doch ein Haufen Cleverer 😃

5.742 Beiträge seit 2007
vor 13 Jahren

Hallo bl4ckY,

dass der ObjectDataProvider überhaupt Einzug in die WPF gefunden hat, halte ich bereits für einen Designfehler.
Verwende ihn also lieber nicht und löse das Problem, wie du es gelöst hast.

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo bl4ckY,

ich kann winSharp93 nur zustimmen! Besser wäre es, wenn du im Code-Behind den DataContext einer Klasse setzt. So ist es einfacher zwischen XAML und C#-Code zu "vermitteln".

Ich würde es ein wenig anders machen: Verwende eine anstatt der Dictionary eine ObservableCollection. Die ObservableCollection beinhaltet dann ale Einträge der TabItems. Über einen Trigger leitest du dann das Event in den Code-Behind und verarbeitest dann dort die Logik.

zero_x

B
bl4ckY Themenstarter:in
193 Beiträge seit 2009
vor 13 Jahren

Also derzeit benutze ich den ObjectDataProvider noch um eine Listview zu füllen.
Werde mich wohl mal nach einer Alternative umsehen. Will ja kein Mist produzieren 😃

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo bl4ckY,

die Frage kann man so nicht beantworten. Wenn es funktioniert, dann ist es oaky. Für die Lösung eines Problems gibt es meist immer mehrere Lösungen. Wenn du dein Problem mit dem ObjectDataProvider gelöst hast, dann ist es gut. Es bleibt dann auch nur bei dem "Designfehler".

zero_x