listview.selectionchangedできるので火災に見い項目をクリック?
-
23-08-2019 - |
質問
はしてもらえると助かりますのselectionchangedイベント火災時の選択のlistviewをクリックすると、わきのみです。
例えば、きってlistviewひとつだけのオブジェクトです。のユーザがクリックするとオブジェクトは、そのオブジェクトを含む情報populatesあtextboxesます。ユーザ変の価値観にこれらのtextboxes(とらわれない、オブジェクトそうんうにテキストボックスでないリセットすべてのオブジェクトのlistview.それが、クリックでのオブジェクトのlistview、何も起こりませんので、選択に変わりはありません。
希望の意いたしました。誰でもいいので周りを取得す。
解決
のListView.SelectionChangedとListViewItem.選択したイベントにならない再火災の場合、商品は既に選択します。が必要な場合は再火災できることができる選択を解除"の項目がイベントです。
private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
foreach (var item in e.AddedItems.OfType<ListViewItem>())
{
Trace.WriteLine("ListViewItem Selected");
item.IsSelected = false;
}
}
このようにき再るときは、"いいえ"を選ad nauseum.しかし、必要がない場合は、実際に選択して使用 ItemsControl.
だいたいの維持に選択できる項目(s)そのあるべき姿で登録するさまざまなイベントによListView.SelectionChanged、ListView.を選択します。を作ることもあPreviewMouseDownどのように当初の項目を選択していない場合については、発生の両方の左右クリック操作。この添付しており、シングルListViewItemでのリストがあり、すでに割り当てで、すべてのItemContainerStyleのListView.
<ListView SelectionChanged="ListView_SelectionChanged">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<EventSetter Event="PreviewMouseDown"
Handler="ListViewItem_PreviewMouseDown" />
</Style>
</ListView.ItemContainerStyle>
<ListViewItem>Item 1</ListViewItem>
<ListViewItem>Item 2</ListViewItem>
<ListViewItem>Item 3</ListViewItem>
<ListViewItem>Item 4</ListViewItem>
</ListView>
private void ListViewItem_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
Trace.WriteLine("ListViewItem Clicked: " + (sender as ListViewItem).Content);
}
他のヒント
private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if(ListView.SelectedIndex != -1)
{
//to do staff
}
ListView.SelectedIndex = -1;
}
また、私たちはこの1つを使用することができます!
<ListView x:Name="ListView"
Height="Auto" SelectionChanged="ListView_OnSelectionChanged"
Width="260"
Margin="0,-12,0,-25">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding name_to_show_menu,Mode=TwoWay}" Tapped="UIElement_OnTapped"></TextBlock>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
と
背後にあるコードで private void UIElement_OnTapped(object sender, TappedRoutedEventArgs e)
{
//this fire every time
}