从两个列表集合中的Silverlight列表框中的数据绑定

时间:2011-11-08 18:01:28

标签: silverlight windows-phone-7 data-binding collections

我想从两个列表集合中绑定列表框的数据,这是我的scnerio

我有以下两个列表

public List<TipSync.TipCategories> tipCategories;

    public List<TipSync.TipCategories> TipCategories
    {
        get
        {
            return tipCategories;
        }
        set
        {
            tipCategories = value;
            NotifyPropertyChanged("TipCategories");
        }
    }

    public List<TipSync.CategorySubscribed> categorySubscribed;

    public List<TipSync.CategorySunscribed> CategorySubscribed
    {
        get
        {
            return tips;
        }
        set
        {
            categorySubscribed = value;
            NotifyPropertyChanged("Tips");
        }
    }

我有一个带有文本块和按钮的列表框,listbox.itemsource设置为Tipcategories

<ListBox x:Name="TipCategoriesLB" Height="449" HorizontalAlignment="Left" Margin="5,49,0,0" VerticalAlignment="Top" Width="410" SelectionChanged="TipCategoriesLB_SelectionChanged">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="{Binding CategoryName}"/>
                                <Button Name="SubscribeBtn" Content="" Tap="Subscribe_Tap"/>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

现在,如果CategorySubscribed列表包含值为TipCategory.CategoryID的项目,我想在按钮的内容中显示“Subscribed”,否则为Unsubscribed。我该怎么做?

1 个答案:

答案 0 :(得分:2)

纳瓦兹,

不完全是你要找的答案;但是lemme问你这个..为什么不在TipCategories列表中为每个对象添加一个标志,表明它是否已订阅?当订阅/取消订阅发生时,可以在每个类别的代码中操作。这种技术的优点是将更容易的数据绑定..你可以将Button的Content属性绑定到这个标志,使按钮说一件事与其他&amp;如果用户点击它,请采取适当的措施。

你对此感觉如何?

谢谢!

相关问题