#wpf #collections #datagrid #binding
#wpf #Коллекции #datagrid #привязка
Вопрос:
I’m David. Я не знаю, как привязать коллекцию к datagrid в XAML для приложения WPF.
ниже приведены классы.
class TestSetting(): INotifyChanged
{
private a
public double A
{
get a;
set a = value;
Notify("A");
}
private b
public double B
{
get b;
set b = value;
Notify("B");
}
private c
public double C
{
get c;
set c = value;
Notify("C");
}
}
class TestCollect():ObservableCollection<T> ,INotifyListener
{
}
приведенный выше код является псевдокодом.
DataContext содержит 7 элементов. Таким образом, в сетке будет 7 столбцов. Не мог бы кто-нибудь, пожалуйста, помочь мне с примером или фрагментом кода.
Ответ №1:
Если datacontext содержит TestCollection, все, что необходимо, это установить для ItemsSource значение {Binding}
Ответ №2:
Я думаю, что вам нужно что-то вроде этого :
Ваша viemodel :
public class ViewModel
{
public ViewModel()
{
SourceList = new ObservableCollection<BusinessAdapter>();
for (int i = 0; i < 50; i )
{
SourceList.Add(new BusinessAdapter { BusinessProperty = "blabla_" i });
}
}
public ObservableCollection<BusinessAdapter> SourceList { get; private set; }
}
Вы просматриваете код, лежащий в основе
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
DataContext = new ViewModel();
}
}
И затем, на ваш взгляд. Важным элементом здесь является ‘ ItemsSource =»{Привязка исходного списка}» ‘, что в основном означает «исходная коллекция моего listbox — это коллекция моего datacontext (который является объектом Viewmodel) с именем SourceList»
<ListView x:Name="listOne"
Grid.Column="0"
Width="50"
Height="200"
ItemsSource="{Binding SourceList}" />
Ответ №3:
Я новичок, но рискну ответить:
ObservableCollection<YourModel> yourdata = new ObservableCollection<YourModel>();
dataGrid.ItemsSource = yourdata;
Оператор 2nd. выполняет привязку.