C-Sharp WPF ListView Drag and Drop mit SelectionChangedEvent
Hallo @ All!
Ich versuche Drag'n'Drop in einer ListView<T> umzusetzen. Jedoch feuert SelectionChangedEventArgs nicht mehr. Hoffe es kann mir jemand von euch einen Tipp geben. Google lässt mich irgendwie im Stich
Das Problem:
Ich habe einen ListView mit mehreren Spalten und fange SelectionChangedEventArgs e.AddedItems bzw. e.RemovedItems ab um im ClassModel die einzelnen Properties zu befüllen.
Aus einem Beispiel vom StackoverFlow habe ich das hier: http://stackoverflow.com/questions/3350187/wpf-c-rearrange-items-in-lis ...
Funktionert perfekt, nur SelectionChangedEvent arbeitet leider nicht mehr.
Gehe davon aus, dass das neuerliche Initialisieren des Style-Setters im XAML.cs den alten überschreibt und das SelectionChangedEvent das ich im XAML gesetzt habe nun nicht mehr zieht.
Den Setter im XAML.cs zu ergänzen mit SelectionChangedEventArgs habe ich nicht zu Laufen gebracht.
Wäre froh, wenn mir jemand von euch einen Tipp geben könnte wie ich entweder den Setter im XAML.cs erweitern kann damit SelectionChanged nach Drag'n'Drop wieder funktioniert, oder wie ich das vielleicht auf anderem Wege lösen kann.
Danke für die Unterstützung!
Mayho
PS: Das XAML:
Aus einem Beispiel vom StackoverFlow habe ich das hier: http://stackoverflow.com/questions/3350187/wpf-c-rearrange-items-in-lis ...
Ich versuche Drag'n'Drop in einer ListView<T> umzusetzen. Jedoch feuert SelectionChangedEventArgs nicht mehr. Hoffe es kann mir jemand von euch einen Tipp geben. Google lässt mich irgendwie im Stich
Das Problem:
Ich habe einen ListView mit mehreren Spalten und fange SelectionChangedEventArgs e.AddedItems bzw. e.RemovedItems ab um im ClassModel die einzelnen Properties zu befüllen.
Aus einem Beispiel vom StackoverFlow habe ich das hier: http://stackoverflow.com/questions/3350187/wpf-c-rearrange-items-in-lis ...
Funktionert perfekt, nur SelectionChangedEvent arbeitet leider nicht mehr.
Gehe davon aus, dass das neuerliche Initialisieren des Style-Setters im XAML.cs den alten überschreibt und das SelectionChangedEvent das ich im XAML gesetzt habe nun nicht mehr zieht.
Den Setter im XAML.cs zu ergänzen mit SelectionChangedEventArgs habe ich nicht zu Laufen gebracht.
Wäre froh, wenn mir jemand von euch einen Tipp geben könnte wie ich entweder den Setter im XAML.cs erweitern kann damit SelectionChanged nach Drag'n'Drop wieder funktioniert, oder wie ich das vielleicht auf anderem Wege lösen kann.
Danke für die Unterstützung!
Mayho
PS: Das XAML:
<ListView
x:Name="listView"
MaxHeight="423"
x:FieldModifier="public"
AllowDrop="True"
AutomationProperties.IsColumnHeader="True"
ItemsSource="{Binding Path=List_All}"
KeyboardNavigation.TabNavigation="Continue"
SelectionChanged="ListView_SelectionChanged"
SelectionMode="Multiple">
<ListView.View>
<GridView>
<GridViewColumn
x:Name="WholeFolder"
Width="auto"
x:FieldModifier="public"
HeaderContainerStyle="{StaticResource GridViewHeaderAllingnment}">
<GridViewColumn.Header>
<TextBlock Text="+ SubFiles" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox
x:Name="checkbox_WholeFolder"
HorizontalAlignment="Center"
IsChecked="{Binding Path=WholeFolder_IsChecked}"
IsEnabled="{Binding Path=WholeFolder_IsEnabled}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn
x:Name="Exclude"
Width="auto"
x:FieldModifier="public"
HeaderContainerStyle="{StaticResource GridViewHeaderAllingnment}">
<GridViewColumn.Header>
<TextBlock Text="exclude" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox
x:Name="checkbox_Exclude"
HorizontalAlignment="Center"
IsChecked="{Binding Path=Exclude_IsChecked}"
IsEnabled="{Binding Path=Exclude_IsEnabled}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn
x:Name="AssetID"
Width="70"
x:FieldModifier="public"
HeaderContainerStyle="{StaticResource GridViewHeaderAllingnment}">
<GridViewColumn.Header>
<TextBlock Text=" ? AssetID" />
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox
x:Name="textbox_AssetID"
Width="50"
HorizontalAlignment="Center"
IsEnabled="{Binding Path=AssetID_IsEnabled}"
Text="{Binding Path=AssetID, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn
Width="auto"
DisplayMemberBinding="{Binding FileDirectoryForSummary}"
HeaderContainerStyle="{StaticResource GridViewHeaderAllingnment}">
<GridViewColumn.Header>
<TextBlock Text="Root" />
</GridViewColumn.Header>
</GridViewColumn>
<GridViewColumn
Width="auto"
DisplayMemberBinding="{Binding FileName}"
HeaderContainerStyle="{StaticResource GridViewHeaderAllingnment}">
<GridViewColumn.Header>
<TextBlock Text="Name" />
</GridViewColumn.Header>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
Aus einem Beispiel vom StackoverFlow habe ich das hier: http://stackoverflow.com/questions/3350187/wpf-c-rearrange-items-in-lis ...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 334139
Url: https://administrator.de/forum/c-sharp-wpf-listview-drag-and-drop-mit-selectionchangedevent-334139.html
Ausgedruckt am: 06.04.2025 um 16:04 Uhr
2 Kommentare
Neuester Kommentar