- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将数据绑定(bind)到 Windows Phone 8 Toolkit Expander使用以下 XAML 和 C# 类查看。我知道 DataContext 设置正确,因为 header 具有正确的文本。但是,其余项目设置不正确(ExpanderTemplate 除外)
<phone:PanoramaItem Header="Skill Sheet">
<ListBox Name="SkillSheet" ItemsSource="{Binding}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<toolkit:ExpanderView Header="{Binding}"
ItemsSource="{Binding}"
IsNonExpandable="False">
<toolkit:ExpanderView.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding groupName}" FontFamily="{StaticResource PhoneFontFamilySemiBold}" LineHeight="{StaticResource LongListSelectorGroupHeaderFontSize}" />
</DataTemplate>
</toolkit:ExpanderView.HeaderTemplate>
<toolkit:ExpanderView.ExpanderTemplate>
<DataTemplate>
<TextBlock Text="Test" />
</DataTemplate>
</toolkit:ExpanderView.ExpanderTemplate>
<!--This is the area that is not getting databound-->
<toolkit:ExpanderView.ItemTemplate>
<DataTemplate>
<ListBox ItemsSource="{Binding skillNames}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding skill}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DataTemplate>
</toolkit:ExpanderView.ItemTemplate>
</toolkit:ExpanderView>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</phone:PanoramaItem>
下面是 XAML 绑定(bind)到的类:
public class TreeMapSkill
{
public string skill { get; set; }
}
public class TreeMapping
{
public string groupName { get; set; }
public List<TreeMapSkill> skillNames { get; set; }
public TreeMapping()
{
skillNames = new List<TreeMapSkill>();
}
}
public class TreeMappingList
{
public List<TreeMapping> mapping { get; set; }
public TreeMappingList() { }
public TreeMappingList(Dictionary<string, List<string>> map)
: base()
{
this.mapping = new List<TreeMapping>();
foreach (string key in map.Keys)
{
TreeMapping tMap = new TreeMapping();
tMap.groupName = key;
foreach (string val in map[key])
tMap.skillNames.Add(new TreeMapSkill() { skill = val });
this.mapping.Add(tMap);
}
}
构造函数中的字典只是与特定组关联的技能列表。如果需要额外引用,我还可以提供示例对象。
最佳答案
为什么要在 Expander 的 ItemTemplate
中添加一个 ListBox
?它已经是一个控件集合,因此您不需要在其中添加 ListBox
。只需将您的 DataTemplate
放入其中即可。
<toolkit:ExpanderView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding skill}" />
</DataTemplate>
</toolkit:ExpanderView.ItemTemplate>
第二件事是您需要在扩展器的 ItemSource
属性的绑定(bind)上指定属性路径。
<toolkit:ExpanderView Header="{Binding}"
ItemsSource="{Binding skillNames}"
IsNonExpandable="False">
关于c# - 数据绑定(bind)到 WP8 工具包 ExpanderView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17138584/
我在我的 UWP 应用程序中使用 WPF ExpanderView ( ExpanderRT) 的一个端口来显示带有项目的可扩展 header 。当应用程序首次启动并且 MainPage 已初始化时,
我正在使用 WindowsPhone Toolkit 的 ExpanderView,在第一次加载时,我展开的 Expander 看起来总是像第二张图片。看起来,它始终处于所有项目的相同高度。 如果我转
我正在构建一个 UWP 应用程序,它使用 WPF ExpanderView 的移植版本 ( ExpanderRT on Codeplex ),我使用 ListBox 来显示多个 ExpanderVie
默认情况下,在 UI 呈现的应用程序中实现 ExpanderView,并且 expanderView 控件应用了这个左边距,某种缩进。默认情况下是这样的,这真的很愚蠢。 有没有什么办法可以去掉那个边距
我制作了一些 ExpanderViews 并对所有内容进行了硬编码。这很有效,看起来不错,所以我想清理一下,只在 xaml 中编写一个 ExpanderView 并使用绑定(bind)加载其他所有内容
我正在尝试将数据绑定(bind)到 Windows Phone 8 Toolkit Expander使用以下 XAML 和 C# 类查看。我知道 DataContext 设置正确,因为 header
我正在使用 Toolkit for Windows Phone 中的 ExpanderView。我添加的是每个标题下方的行。我不能做的是为可扩展的标题拉伸(stretch)线。
我有一个全景控件,它有一个 ExpanderView 项(来自 Silverlight 工具包)。 我的客户希望这个页面是可定制的。这就是为什么我创建了 3 级绑定(bind): PanoramaIt
我是一名优秀的程序员,十分优秀!