0

在 silverlight 中是否collection<*>允许数据绑定?因为我做了以下,没有任何反应

<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>

Country包含类型为 States 属性的类在哪里Collection<State>

国家

Public Class Country
{
  Public Collection<State> States;

  Public string Name{get;set;}
}

状态

Public Class State
{
  Public string Name{get;set;}
}

Xaml.cs

List<Country> countries = DAL.GetCountries();

ToolboxCategories.ItemSource = countries;

注意: 我看到手风琴标题在每个手风琴标题中显示国家名称,但是列表框没有与状态数据绑定。

4

2 回答 2

0

请让States 成为完整的财产,这将起作用。

 public class Country
{
    public Collection<State> States { get; set; }

    public string Name { get; set; }
}

因为当您在内部设置 Binding 时,它会查找对象的 get_Property 方法,并且您没有将 state 作为属性,这就是它不显示的原因。我希望这能帮助你摆脱这个问题。

干杯! 维诺德

于 2012-08-08T05:18:49.210 回答
0

在处理作为 silverlight 中数据绑定控件的数据源的类时。有时您必须使用以下代码进行数据绑定

ItemsSource="{Binding States,BindsDirectlyToSource=True}"

于 2012-08-08T09:35:42.743 回答