正在将列表框绑定到集合<;国家>;在Silverlight中可能吗?
在silverlight中,是否允许将数据绑定到正在将列表框绑定到集合<;国家>;在Silverlight中可能吗?,silverlight,binding,silverlight-4.0,listbox,itemsource,Silverlight,Binding,Silverlight 4.0,Listbox,Itemsource,在silverlight中,是否允许将数据绑定到集合?因为我做了下面的事,什么也没发生 <SilverlightToolkit:Accordion Name="ToolboxCategories" SelectionMode="ZeroOrMore"> <SilverlightToolkit:Accordion.ItemTemplate> <DataTemplate>
集合
?因为我做了下面的事,什么也没发生
<SilverlightToolkit:Accordion Name="ToolboxCategories" SelectionMode="ZeroOrMore">
<SilverlightToolkit:Accordion.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"></TextBlock>
</DataTemplate>
</SilverlightToolkit:Accordion.ItemTemplate>
<SilverlightToolkit:Accordion.ContentTemplate>
<DataTemplate>
<ListBox x:Name="CategoryControls" ItemsSource="{Binding States}" BorderThickness="0">
<ListBox.ItemTemplate>
<DataTemplate>
<Canvas>
<TextBlock Text="{Binding Name}"></TextBlock>
</Canvas>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
</SilverlightToolkit:Accordion.ContentTemplate>
</SilverlightToolkit:Accordion>
陈述
Xaml.cs
List countries=DAL.GetCountries();
ToolboxCategories.ItemSource=国家/地区;
注意:
我看到accorbian标题在每个accorbian标题中显示了国家名称,但是列表框没有与状态进行数据绑定。请将状态设置为完整属性,这将起作用
public class Country
{
public Collection<State> States { get; set; }
public string Name { get; set; }
}
公共类国家
{
公共集合状态{get;set;}
公共字符串名称{get;set;}
}
因为当您在内部设置绑定时,它会查找对象的get_Property方法,而您没有将state设置为Property,这就是它没有显示的原因。我希望这能帮助你解决这个问题
干杯!
在silverlight中处理充当数据绑定控件的数据源的类时,使用Vinod。有时使用下面的代码进行数据绑定是很重要的
ItemsSource=“{Binding States,BindsDirectlyToSource=True}”
请显示国家代码+如何设置datacontext。@ken2k添加了更多代码以查找问题让我试试那个Vinod。但是一个集合不是应该被迭代而不是get或set吗?是的,但它首先寻找get,然后它就开始跟踪,这样就知道这是怎么回事了,ItemsSource=“{Binding States,BindsDirectlyToSource=True}”
Public Class State
{
Public string Name{get;set;}
}
List<Country> countries = DAL.GetCountries();
ToolboxCategories.ItemSource = countries;
public class Country
{
public Collection<State> States { get; set; }
public string Name { get; set; }
}