2017-12-26 22 views
0

ボタンクリックで1つ1つTextCellをフォーカスする必要があります。 私はlistView.ScrollToを試しました。ListViewのTextCellをボタンでフォーカスする方法は?

private void Button_Clicked_1(object sender, EventArgs e) 
{ 
    listViewJson.ItemTapped += ListViewJson_ItemTapped; 
} 

private void ListViewJson_ItemTapped(object sender, ItemTappedEventArgs e) 
{ 
    var focusing = e.Item; 
    listViewJson.ScrollTo(focusing, ScrollToPosition.MakeVisible, true); 
} 

答えて

0

まず、選択するセルを検出するためのインデックスを定義します。 TextCellは、リストビューのItemSelectedイベントが発生します選択されている場合、あなたが好きなことで、あなたのコードを置くことができる

int selectedIndex = 0; 
private void MyBtn_Clicked(object sender, EventArgs e) 
{ 
    if (selectedIndex == dataList.Count) selectedIndex = 0; 
    myListView.SelectedItem = dataList[selectedIndex++]; 
} 

:次にようにクリックボタンを経由してインデックスを変更ここで

private void MyListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) 
{ 
    //try to do something 
} 

はのための背後に私のコードですあなたは:

ObservableCollection<string> dataList = new ObservableCollection<string>(); 

int selectedIndex = 0; 

public MainPage() 
{ 
    InitializeComponent(); 

    for (int i=0; i<10; i++) 
    { 
     dataList.Add("item" + i); 
    } 

    myListView.ItemsSource = dataList; 

    myListView.ItemSelected += MyListView_ItemSelected; 

    MyBtn.Clicked += MyBtn_Clicked; 
} 

private void MyListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) 
{ 
    //try to do something 
} 

private void MyBtn_Clicked(object sender, EventArgs e) 
{ 
    if (selectedIndex == dataList.Count) selectedIndex = 0; 
    myListView.SelectedItem = dataList[selectedIndex++]; 
} 
関連する問題