2012-03-23 2 views
0

я пытаюсь реализовать ListBox (или ListView):ListView - выберите индексируют только программно

<ListView ItemsSource="{Binding Players}" SelectedIndex="{Binding SelectedIndex}"> 

Моя проблема в том, что я хочу, чтобы связать выбранный индекс собственности в коде-позади. Работает только при запуске формы, но мне нужно отключить пользователя для изменения выбора. Selectin будет изменяться ТОЛЬКО программно.

Спасибо за все советы и решения :)

ответ

1

Таким образом, рабочий раствор:

private void playersList_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (sender.GetType() == typeof(ListView)) 
    { 
     (sender as ListView).SelectedIndex = GameObserver.Instance.core.SelectedIndex; 
     e.Handled = true; 
    } 
} 

В XAML:

<ListView ItemsSource="{Binding Players}" SelectedIndex="{Binding SelectedIndex}" SelectionChanged="playersList_SelectionChanged"> 

И ограниченное свойство:

private int selectedIndex = 1; 
public int SelectedIndex 
{ 
    get 
    { 
     return selectedIndex; 
    } 
} 
0

У вас есть две задачи здесь:

Выбор программно: WPF ListView Programmatically Select Item

И отключающий выбор пользователя: WPF ListView turn off selection

+0

Я не указано, что я хочу, чтобы помочь exacly, вина ма. Об отключении выбора, мне нужно просто отключить пользователя, чтобы изменить выбор, но это решение - как отключить выбор вообще (конкретный, как изменить фон, например, элемент не выбран). – prespic

+0

Вы указали просто отлично, не волнуйтесь. Надеюсь, мои ссылки помогли. –

+0

Мне нужно просто отключить пользователя, чтобы изменить выбор, но это решение - как отключить выбор вообще (конкретный, как изменить фон, например, элемент не выбран). ПРИМЕЧАНИЕ: Это редактирование с первого ответа ... – prespic

-1

Просто нет набора

Public Int SelectedIndex 
{ 
     get { return selectedindex; } 
} 

public void mysub() 
{ 
     selectedindex = 2; 
     NotifyPropertyChanged("SelectedIndex"); 
} 
+0

Да, это так, как я это сделал. Но проблема в том, что пользователь может изменить выбор «щелчком» по списку. Мне нужен единственный способ изменить мой код ... – prespic

+0

Вы не указали эту деталь в своем вопросе. Вы должны пометить свой вопрос из-за отсутствия показа, что вы пытались, а не пометить ответ. Этот ответ не позволяет установить SelectedIndex. Визуальным является другое дело. – Paparazzi

Смежные вопросы