Hallo zusammen,
ich habe einen ListView mit einer CheckBox am Anfang jeder Zeile. Diese wird beim einfügen der ListViewItems entsprechend schon auf True oder False anhand des Bindings gesetzt.
Nun soll der Nutzer aber nicht jedes einzelene Häkchen abwählen oder anwählen. Deshalb habe ich einen Button über den alle (im Beispielfalle) deselektiert werden sollen.
Hier der Xaml für den ListView und das Binding:
<ListView x:Name="SearchList" Margin="15,171,15,15">
<ListView.Effect>
<DropShadowEffect/>
</ListView.Effect>
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Path=Selected}" Checked="CheckBox_Checked"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
<ListViewItem Content="ListViewItem" Margin="0" />
</ListView>
Und so versuche ich dann im Code jeder einzelnen Zeile den Content zu ändern, leider ohne Resultat:
foreach (ListViewItem item in mView.SearchList.Items)
{
((SearchViewData)item.Content).Selected = false;
}
Danke schonmal im Vorraus für eure Hilfe.
Hallo,
also zuerst, es gibt auch für XML und XAML Tags hier, dann sieht es nicht so Grau in Grau aus...
<EinXmlTag></EinXmlTag>
Du sagtest du hast ein Binding, was man auch annehmen könnte...
Warum änderst du nicht einfach den Wert im Hintergrund im ViewModel, warum dann direkt in der View? Ist doch unnötig...
SG Thomas
Ich habe den Titel mal angepasst, so dass Suchende auch etwas damit anfangen können. EDIT: Ich sollte beim Wort "Shift" im Titel das "f" nicht vergessen... 😄
Hey manchmal liegt die Lösung nur so nahe!
Jetzt macht er es zwar, aber die ersten sind zwar augenscheinlich angehakt, aber im Model nicht? Gibt es bei WPF einen Redraw wie bei WinForms?
Nein, WPF funktioniert anders. Dort gibt es DataBinding. Wenn das nicht funktioniert, mußt du herausfinden, woran es liegt. Siehe dazu den Abschnitt "Debugging" in [Artikel] MVVM und DataBinding.
Weeks of programming can save you hours of planning