Я привязываю WPF DataGrid к наблюдаемой коллекции.
В Xaml у меня есть
<DataGrid x:Name="DGSnapshot"
ItemsSource="{Binding Source=Snapshot}"
Grid.Row="1"
Margin="20,45,20,-46"
AutoGenerateColumns="True">
</DataGrid>
Это добавляет восемь строк в сетку, точное количество букв в слове Snapshot,Однако нет данных из Обсервабильной коллекции.Когда я отлаживаю программу, она показывает, что DGSnapshot.ItemsSource = "Snapshot"
Но если я введу это в коде
public MainWindow()
{
InitializeComponent();
DGSnapshot.ItemsSource = Snapshot;
}
, то привязка сработает.Когда я отлаживаю, DGGrid.ItemsSource показывает список данных.
Поэтому мой вопрос: почему не работает привязка в коде Xaml, а в коде C #?
Имеет ли онесть что-то связанное с необходимостью
<Windows.Resources Something here/>
В коде Xaml?
Я прочитал следующие посты, но все еще не могу понять это
Привязка ObservableCollection к сетке данных wpf: Сетка остается пустой
Привязка столбца данных к StaticResource, указывающему на ObservableCollection в WPF
Как связать таблицу данных WPF сObservableCollection
Мой полный код C # ...
public partial class MainWindow : Window
{
public ObservableCollection<SnapshotRecord> Snapshot = new ObservableCollection<SnapshotRecord>()
{
new SnapshotRecord(){Cell1="Testing", Cell2 = "WPF", Cell3="Data", Cell4="Binding"},
new SnapshotRecord(){Cell1="Stack", Cell2="Overflow", Cell3="is", Cell4="Awesome"}
};
public MainWindow()
{
InitializeComponent();
DGSnapshot.ItemsSource = Snapshot;
}
}
public class SnapshotRecord
{
public string Cell1 { get; set; }
public string Cell2 { get; set; }
public string Cell3 { get; set; }
public string Cell4 { get; set; }
}