【问题标题】:How do I bind two different data collections into 2 different PanoramaItem listbox?如何将两个不同的数据集合绑定到 2 个不同的 PanoramaItem 列表框?
【发布时间】:2012-01-19 10:55:17
【问题描述】:

我有 AItem 和 BItem,想绑定到 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)
{
}

谢谢。

【问题讨论】:

    标签: windows-phone-7 data-binding listbox panorama-control


    【解决方案1】:

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

    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(),最有可能在填充集合之后。

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      • 2015-06-08
      • 1970-01-01
      相关资源
      最近更新 更多