Xaml RadGridRadGrid Привязка к списку
<telerik:RadGridView d:DataContext="{d:DesignInstance {x:Type local:A}}" Name="myGridView" Grid.Column="2" ItemsSource="{Binding Path=MyList}" Margin="7,7,7,2" IsFilteringAllowed="False" ShowColumnHeaders="True" AutoGenerateColumns="True" />
C# код
Class A:INotifyPropertyChanged
{
private List<Fields> MyList;
public event PropertyChangedEventHandler PropertyChanged;
public List<Fields> _theList
{
get
{
if (MyList == null)
{
MyList = new List<Fields>();
}
return MyList;
}
set
{
if (MyList != value)
{
MyList = value;
PropertyChanged(this, new PropertyChangedEventArgs("_theList"));
}
}
}
}
Когда элементы в изменении MyList динамически, то radgridview не обновляется автоматически, это работает, если сбросить ItemsSource в код:
mygridview.Itemssource = Null;
mygridview.Itemssource = MyList;
Мне нужно перезагрузить itemssource каждый раз в коде после изменения MyList. Почему GridView не обновляется автоматически при изменении содержимого MyList? Кроме того, во время проектирования он показывает мне соответствующие заголовки столбцов без данных в столбцах, потому что список пуст. Но когда я запускаю приложение, заголовки столбцов исчезают и данные не отображаются в radgrid, когда содержимое MyList изменяется динамически.
Почему мы используем 2 разных списка здесь (MyObservableList, Мой список)? не можем ли мы просто использовать один список и связать его с источником radgrids itemssource? Благодарю. – user832219
Вот что я говорил о том, чтобы сделать его проще. Я только включил, что если вы не можете установить свойство ObservableCollection, то вы можете обернуть свой список ObservableCollection (ObservableList). Было бы гораздо проще просто использовать ObservableCollection. – Jeff
Я постараюсь сделать это так! Ценить это! – user832219