Bonjour,
Dans le code suivant, l'utilisateur peut glisser un 'ListView Item' vers le navigateur WEB, la page correspondante s'ouvre alors.
Cela marche..mais je ne suis pas sur que je m'y sois pris de la meilleure façon car depuis que le drag est rendu possible depuis ce ListView la sélection d'un élément est plus chaotique (c-à-d qu'il faut très souvent s'y reprendre à plusieurs fois pour SELECTIONNER un élément).
Pourriez-vous m'aider svp? Merci !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <Window x:Class="MainWindow" xmlns:local="clr-namespace:WpfApplication1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <ListView Name="PersonListView"> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <EventSetter Event="ListViewItem.PreviewMouseLeftButtonDown" Handler="PersonListView_MouseLeftButtonDown" /> </Style> </ListView.ItemContainerStyle> <ListView.View> <GridView > <GridViewColumn DisplayMemberBinding="{Binding Url}" Width="300"> <GridViewColumnHeader>Url</GridViewColumnHeader> </GridViewColumn> <GridViewColumn DisplayMemberBinding="{Binding Name}" Width="100"> <GridViewColumnHeader>Name</GridViewColumnHeader> </GridViewColumn> </GridView> </ListView.View> </ListView> </Grid> </Window>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Class MainWindow Private Sub MainWindow_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded Dim personList As New List(Of Person)() personList.Add(New Person() With {.Url = "http://www.apple.com", .Name = "Apple"}) personList.Add(New Person() With {.Url = "http://www.hp.com", .Name = "HP"}) personList.Add(New Person() With {.Url = "http://www.asus.com", .Name = "Asus"}) PersonListView.ItemsSource = personList End Sub Private Sub PersonListView_MouseLeftButtonDown(sender As Object, e As System.Windows.Input.MouseButtonEventArgs) If TypeOf sender Is ListViewItem Then Dim o1 As Person = TryCast(sender.DataContext, Person) If o1 IsNot Nothing Then Dim url As String = o1.Url Dim dataObject As New DataObject(DataFormats.Text, url) DragDrop.DoDragDrop(Me, dataObject, DragDropEffects.Copy) End If End If End Sub End Class Public Class Person Public Property Url() As String Get Return m_Id End Get Set(value As String) m_Id = value End Set End Property Private m_Id As String Public Property Name() As String Get Return m_Name End Get Set(value As String) m_Name = Value End Set End Property Private m_Name As String End Class
Partager