好的,所以我正在尝试将具有DisplayName属性的对象列表绑定到长列表选择器。
XAML 代码
<phone:LongListSelector x:Name="lls_TemplateFields" HorizontalAlignment="Left" Width="450" Grid.Row="2" Height="400" LayoutMode="List" Background="#FF9E9D9D" IsGroupingEnabled="False">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding DisplayName}" Foreground="Black" FontSize="24"/>
</Grid>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
C# 代码
List<AttributeDefinition> m_SelectedAttributes = new List<AttributeDefinition>();
lls_TemplateFields.ItemsSource = m_SelectedAttributes;
我的类AttributeDefinition包含DisplayName的属性。如果我使用组键对列表进行分组,那么列表将显示出来,但是我不能只显示一个简单的项目列表。就像 WPF C# 中的列表框。
我正在使用此列表来表示从另一个列表中选择的 AttributeDefinition 列表,该列表显示按其 DisplayName 属性按字母顺序分组的所有 AttributeDefinition,并且显示值绑定到 DisplayName 属性,如下所示...
XAML
<phone:LongListSelector x:Name="lls_AttributeList" HorizontalAlignment="Left" Height="450" VerticalAlignment="Top" Width="450" HideEmptyGroups="True" IsGroupingEnabled="True" SelectionChanged="SelectionChanged">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<Grid>
<Border BorderThickness="2">
<TextBlock Text="{Binding DisplayName}" Foreground="{StaticResource PhoneChromeBrush}" FontSize="24"/>
</Border>
</Grid>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
<phone:LongListSelector.GroupHeaderTemplate>
<DataTemplate>
<Grid Width="50" Height="50" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Blue">
<Border BorderThickness="4">
<TextBlock Text="{Binding Key}" Foreground="White" FontSize="38" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</Grid>
</DataTemplate>
</phone:LongListSelector.GroupHeaderTemplate>
</phone:LongListSelector>
C#
List<AttributeKeyGroup<AttributeDefinition>> DataSource = AttributeKeyGroup<AttributeDefinition>.CreateGroups(AttributeData,
Thread.CurrentThread.CurrentUICulture,
(AttributeDefinition aDef) => { return aDef.Type; },
true);
lls_AttributeList.ItemsSource = DataSource;
这个列表工作得很好。后台的数据运行正常,因为当我从属性定义的总列表中选择项目时,它们会从LongListSelector中删除并添加到所选列表Itemssource的LongListSelector
如需进一步调查有关此用户控制的更多代码,请随时询问我将在不违反我的工作保密协议的情况下尽可能多地披露代码。感谢您花时间阅读并可能提供帮助。非常感激。