I have a grid, and I want to add onclick event.
<ListView
HorizontalAlignment="Stretch"
Margin="10"
x:Name="BooksListView"
GridViewColumnHeader.Click="SortBooks"
>
<ListView.View>
<GridView></GridView>
</ListView.View>
</ListView>
I've tried the accepted answer from this SO question, but item.IsSelected
is always false.
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListViewItem_PreviewMouseLeftButtonDown" />
</Style>
</ListView.ItemContainerStyle>
C# code:
private void ListViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
var item = sender as ListViewItem;
if (item != null && item.IsSelected) // IsSelected is always false
...
}
Should I just remove this check, or there is a better way to do it?