【发布时间】:2014-05-06 20:23:39
【问题描述】:
我想弄清楚如何在一页上有两列不同的绑定数据。左栏为声音,右栏为每个声音保存铃声任务。 我不能将两个长列表选择器放在一页上,它不会让我这样做。
使用样本,很容易看出如何将绑定数据用于声音。最棒的是您只需在绑定的项目中输入新代码,它就会自动用新的声音块填充每个页面。
我想添加一个基本上以相同方式工作的保存铃声图块。但是,只有当我可以在同一页面上的声音磁贴旁边获得保存铃声磁贴时,它才有意义。
有没有办法做到这一点?我认为,我真正需要知道的是如何将两列不同的数据绑定放到同一个页面上,希望在 longlistselector 中这样它会滚动。
这是我现在使用的代码示例。
<phone:PhoneApplicationPage.Resources>
<DataTemplate x:Key="SoundTileDataTemplate">
<Grid Background="{StaticResource PhoneAccentBrush}"
Margin="0,0,135,0">
<Grid VerticalAlignment="Top"
HorizontalAlignment="right"
Width="40"
Height="40"
Margin="0, 6, 6, 0">
<Ellipse Stroke="{StaticResource PhoneForegroundBrush}"
StrokeThickness="3"/>
<Image Source="/Assets/AppBar/Play.png" />
</Grid>
<StackPanel VerticalAlignment="bottom">
<TextBlock Text="{Binding Title}"
Margin="6,0,0,6"/>
</StackPanel>
</Grid>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<!--Pivot Control-->
<phone:Pivot Title="{Binding Path=LocalizedResources.ApplicationTitle,
Source={StaticResource LocalizedStrings}}">
<!--Pivot item one-->
<phone:PivotItem Header="{Binding Animals.Title}">
<!--Double line list with text wrapping-->
<phone:LongListSelector Margin="0,0,-12,0"
ItemsSource="{Binding Animals.Items}"
LayoutMode="List"
ItemTemplate="{StaticResource SoundTileDataTemplate}"
SelectionChanged="LongListSelector_SelectionChanged">
</phone:LongListSelector>
</phone:PivotItem>
</phone:Pivot>
</Grid>
【问题讨论】:
-
好的,我通过简单地使用 Grid 并在其中放置两个 longlistselector 找到了解决方案的一部分。现在问题出在 saveringtonetask 上。应用程序现在的方式是,视图模型和绑定用于使用播放声音的图块填充长列表选择器。我还没有找到一种方法来使用充当 saveringtonetask 功能而不是播放声音的图块填充其他 longlistselector。有什么想法吗?
-
我对为什么需要两个 LLS 感到困惑。您能否解释一下第二个 LLS 的用途。我可以看到第一个是显示有关声音的信息,但第二个?
标签: c# xaml windows-phone-8 data-binding longlistselector