我想从两个列表集合中绑定列表框的数据,这是我的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
。我该怎么做?
答案 0 :(得分:2)
纳瓦兹,
不完全是你要找的答案;但是lemme问你这个..为什么不在TipCategories列表中为每个对象添加一个标志,表明它是否已订阅?当订阅/取消订阅发生时,可以在每个类别的代码中操作。这种技术的优点是将更容易的数据绑定..你可以将Button的Content属性绑定到这个标志,使按钮说一件事与其他&amp;如果用户点击它,请采取适当的措施。
你对此感觉如何?
谢谢!