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 ...
Please also mark the comments that contributed to the solution of the article
Content-Key: 334139
Url: https://administrator.de/contentid/334139
Printed on: September 24, 2023 at 15:09 o'clock
2 Comments
Latest comment