Hallo zusammen,
wünsche frohe Weihnachten gehabt zu haben.
Ich habe derzeit ein kleines Problem und weiß nicht wie ich es lösen kann.
Ich habe ein ViewModel (settingsModel). Dieses Model dient zum einen einem Window als Quelle und zum anderen auch entsprechenden Pages.
Wenn ich nun meine Page pgUserRights in einen Frame auf dem Window lade, dann setze ich den DataContext auf ein entsprechendes Objekt vom Typ settingsModel.
Bei meinem Problem ist es egal ob ich ein eigenes Objekt innerhalb der Page erzeuge oder ob ich das bereits bestehende aus dem Window als Parameter mitgebe.
Die CheckBox erhält kein Value aus einer ObservableCollection innerhalb des Models.
Wenn ich nun das Property, sprich die ObservableCollection direkt als DataContext angebe, dann werden die Werte entsprechend gesetzt.
Das hilft mir aber nicht viel weil ich die Commands etc. aus dem Model nutzen möchte.
Ich hab das über die RelativeSources schon probiert, hat aber nichts geholfen. Irgendwo scheine ich einen Denkfehler zu haben. Hat jemand von euch schon mal so einen Fall gehabt? Die Meldung im Debugger lautet:
Fehlermeldung:
Die Eigenschaft "CanAddBanks" wurde im Objekt vom Typ "ObservableCollection1" nicht gefunden. Datenkontext: SettingsModel - Bindungspfad GroupRights.CanAddBanks - Ziel CheckBox.IsChecked - Zieltyp Nullable
1
Besten Dank für einen Denkanstoß.
.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....
Du scheinst Liste und enthaltenes Objekt vertauscht zu haben.
GroupRights
ist wohl bei dir die ObservableCollection
. Diese hat aber keine Eigenschaft namens CanAddBanks
, sondern (wohl) nur die enthaltenen Objekte. Du benötigst also ein konkretes Objekt (mittels eines Zugriffs auf einen Index der ObservableCollection
).
Das dürfte die Sache auf den Punkt treffen, ich hätte jetzt einen Ansatz:
Ich lasse mir ein Grid Anzeigen von dessen Elementen in ich mir das jeweilige Value anzeigen lassen. Ergibt vermutlich auch Sinn da das Ganze ja auch mehr als nur ein Gruppenrecht erhalten kann.
Danke - das wird's gewesen sein.
Was sich mir aber noch nicht ganz erschließt ist - warum geht's, wenn ich die CheckBox direkt an das Property binde? Nimmt dann der Kontext immer das erste Value oder wie verhält sich das?
Das wäre ja blöd oder kann man auch über XAML dann die Collection ansteuern? Das wäre definitiv charmant.
.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....
Dazu müßtest du mal den XAML-Code zeigen.