Как связать два разных набора данных в два разных списка PanoramaItem? - PullRequest
0 голосов
/ 19 января 2012

У меня есть AItems и BItems, я хочу связать с AListBox в PanoramaItem и BListBox в другом PanoramamItem.

Я указал ItemsSource в каждом ListBox

<controls:PanoramaItem>
    <ListBox ItemsSource="{Binding AItems}" >
      ...
    </ListBox>
</controls:PanoramaItem>
<controls:PanoramaItem 
    <ListBox ItemsSource="{Binding BItems}" >
      ...
    </ListBox>
</controls:PanoramaItem>

Как связать данныек каждому ListBox из кода?

У меня есть метод конструктора

public MainPage()
{
    InitializeComponent();
}

и метод загрузки страницы

private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
}

Спасибо.

1 Ответ

0 голосов
/ 19 января 2012

Для привязки коллекций к элементам управления в выделенном коде:

1) Дайте именам списков
2) в выделенном коде, установите .ItemsSource =

(Вы должны убедиться, что ваши коллекции имеют ObservableCollection , чтобы гарантировать, что если коллекция изменится, это будет отражено в представлении.)

например ...

<controls:PanoramaItem>
    <ListBox Name="AItemBox" >
      ...
    </ListBox>
</controls:PanoramaItem>
<controls:PanoramaItem 
    <ListBox Name="BItemBox" >
      ...
    </ListBox>
</controls:PanoramaItem>

изатем

private void BindMyControls()
{
    AItemBox.ItemSource = AItems;
    BItemBox.ItemSource = BItems;
}

Затем вы можете позвонить BindMyControls() из наиболее подходящего места, скорее всего, после заполнения коллекций.

...