У меня есть ListView, и я хочу, чтобы ListView выбирался при нажатии мыши. (Как свойство ClickMode кнопок). есть ли какое-нибудь решение?set SelectionChanged в ListView Clickmode = "нажато" в uwp
0
A
ответ
0
Я пытался кнопку, чтобы поместить в шаблон ListView и изменить его свойство ClickMode
SelectionChanged
срабатывает, когда мышь выпущена, который по умолчанию. Похоже, мы не можем его изменить. Таким образом, мы можем поместить кнопку в шаблон объекта ListView
и изменить его режим кликов как то, о чем вы думали, или зарегистрировать событие PointerPressed
для контейнера внутри шаблона элемента, который будет запущен, когда мышь нажата не отпущена.
, но я не мог получить доступ к объекту, который щелкнул в ListView
Чтобы получить доступ к какой элемент кликнули вы все еще можете использовать свойство как SelectedItem из ListView
, чтобы получить выбранный элемент. Например:
XAML код позади
<ListView Name="CategoryLIstView" Grid.Row="1" ItemsSource="{x:Bind categories}" HorizontalAlignment="Center" Margin="10" VerticalAlignment="Top" IsItemClickEnabled="True" SelectionChanged="CategoryLIstView_SelectionChanged" ItemClick="CategoryLIstView_ItemClick" PointerPressed="CategoryLIstView_PointerPressed">
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:Category">
<StackPanel Margin="0" PointerPressed="StackPanel_PointerPressed">
<StackPanel Orientation="Vertical" >
<TextBlock Text="{x:Bind Name}" Foreground="Blue" FontWeight="Bold" FontFamily="Yu Gothic" FontSize="17"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Код:
private async void StackPanel_PointerPressed(object sender, PointerRoutedEventArgs e)
{
await new Windows.UI.Popups.MessageDialog("point press").ShowAsync();
System.Diagnostics.Debug.WriteLine(CategoryLIstView.SelectedIndex);
}
Что вы пробовали и где возникли проблемы? Вы пробовали свойство * SelectionMode * в * ListView *? – Romasz
@Romasz Я хочу, чтобы ListView был выбран, когда мышь нажата, и у нас есть это для кнопок с свойством ClickMode, но здесь у нас нет этого свойства в ListView. Я попытался поместить кнопку в шаблон ListView и изменить его свойство ClickMode, но я не смог получить доступ к объекту, который щелкнут в ListView (я думаю, что я должен сделать что-то подобное)! и вы сказали свойство SelectionMode, я думаю, это для выбора элементов одного или нескольких и т. д., а не для ClickMode! – mohammadrezamajd
Если вы включите SelectionMode as Multiple, вы сможете выбрать элементы, щелкнув мышью/касанием элементов. Вам нужно будет лучше описать ваш вопрос. – Romasz