Я изучаю wpf с помощью mvvm light, и у меня возникла проблема. У меня есть пользовательский элемент управления с сеткой данных, загруженной запросом.
Теперь я хотел бы добавить событие в selectedIndex, чтобы получить выбранную строку, и после этого я передам значение другому пользовательскому элементу управления.
проблема в том, что мое событие никогда не запускается.
Вот что я сделал
<DataGrid HorizontalAlignment="Left" Name="dgUser" VerticalAlignment="Top" SelectedIndex="{Binding SelectedIndex, Mode=TwoWay}" SelectedItem="{Binding selectedRow, Mode=TwoWay}" Width="800" Height="253" >
Вот код моей модели просмотра
public RelayCommand selectedRow { get; private set; }
private int _selectedIndex;
public int SelectedIndex
{
get { return _selectedIndex; }
set
{
_selectedIndex = value;
RaisePropertyChanged("SelectedIndex");
}
}
/// <summary>
/// Initializes a new instance of the ListUserViewModel class.
/// </summary>
public ListUserViewModel()
{
selectedRow = new RelayCommand(() => SelectedRowChange());
SelectedIndex = 2;
}
private void SelectedRowChange()
{
System.Windows.MessageBox.Show("test");
}
Моя строка не выбрана с SelectedXIndex = 2, и ничего не происходит, когда я выбираю другую строку
SelectedItem
— это не событие, это свойство.SelectionChanged
это событие. Попробуйте использовать его. - person Debasis   schedule 31.07.2014