0
我有一个静态资源,它提供了一个用作ComboBox的DataSource的性别列表。当组合框呈现时,ComboBoxItem中没有任何文本/内容。Silverlight 4组合框呈现问题
public class Gender
{
public string code;
public string description;
}
public class LookupTables
{
public List<Gender> GenderList
{
get
{
List<Gender> g = new List<Gender>();
g.Add(new Gender{code="M",description="Male"});
g.Add(new Gender{code = "F", description = "Female" });
return g;
}
}
}
这是App.xaml中的条目使之成为一个一个应用广泛的静态资源
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Assets/Styles.xaml"/>
<ResourceDictionary>
<res:ResourceWrapper x:Key="ResourceWrapper" />
<app:NotOperatorValueConverter x:Key="NotOperatorValueConverter" />
<hlpr:LookupTables x:Key="LookupTables"/>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
这里是ComboBox片段,用这种静态资源
<ComboBox Height="23" Name="comboBox1" Width="120"
ItemsSource="{Binding Source={StaticResource LookupTables},Path=GenderList}"
SelectionChanged="comboBox1_SelectionChanged"
DisplayMemberPath="description"/>
我知道这不是你问的问题,但是你是否意识到每次访问属性时都会创建一个新的列表实例?除了潜在的性能影响之外,这也可能对绑定产生副作用。考虑让一个初始化一次并多次使用的实例。 – Murven 2010-11-02 05:18:29