0

我有 AItems 和 BItems,想要绑定到 PanoramaItem 中的 AListBox 和另一个 PanoramamItem 中的 BListBox。

我在每个 ListBox 中指定了 ItemsSource

<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)
{
}

谢谢你。

4

1 回答 1

0

要将集合绑定到代码隐藏中的控件:

1) 给出列表框名称
2) 在后面的代码中,设置 <listboxName>.ItemsSource = <collection>

(您应该确保您的集合是 ObservableCollection<myType> 以确保如果集合发生更改,这会反映在视图中。)

例如...

<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()从最合适的位置调用,很可能是在填充集合后。

于 2012-01-19T11:52:56.187 回答