正文
WP8__实现ListBox横向滑动及子项绑定图片等控件
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
<!--实现绑定的图片等信息 ListBox水平滚动-->
CRLF
<Grid>
CRLF
<Grid.Resources>
CRLF
<Style x:Key="horizontalListBoxStyle" TargetType="ListBox">
CRLF
<Setter Property="ItemsPanel">
CRLF
<Setter.Value>
CRLF
<ItemsPanelTemplate>
CRLF
<StackPanel Orientation="Horizontal"
CRLF
VerticalAlignment="Center"
CRLF
HorizontalAlignment="Center"/>
CRLF
</ItemsPanelTemplate>
CRLF
</Setter.Value>
CRLF
</Setter>
CRLF
</Style>
CRLF
</Grid.Resources>
CRLF
CRLF
<ListBox Height="auto" Name="imglist1" HorizontalContentAlignment="Left"
CRLF
ScrollViewer.HorizontalScrollBarVisibility="Auto"
CRLF
Style="{StaticResource horizontalListBoxStyle}">
CRLF
<ListBox.ItemTemplate>
CRLF
<DataTemplate>
CRLF
<Grid>
CRLF
<Grid.RowDefinitions>
CRLF
<RowDefinition Height="auto"></RowDefinition>
CRLF
<RowDefinition Height="60"></RowDefinition>
CRLF
<RowDefinition Height="*"></RowDefinition>
CRLF
</Grid.RowDefinitions>
CRLF
CRLF
<Image Name="imgShow" Source="{Binding Path}" Tag="{Binding Id}" Grid.Row="0" Width="420" Height="400" Margin="30,30,30,30" Stretch="Fill" MouseLeftButtonUp="imgShow_MouseLeftButtonUp"></Image>
CRLF
CRLF
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Grid.Row="1">
CRLF
<Button Name="btnZan" Tag="{Binding Id}" Content="赞" Height="70" Width="150" FontSize="26" Margin="20,0,10,0" Click="btnZan_Click"></Button>
CRLF
<Button Name="btnCai" Tag="{Binding Id}" Content="踩" Height="70" Width="150" FontSize="26" Margin="10,0,20,0" Click="btnCai_Click"></Button>
CRLF
</StackPanel>
CRLF
CRLF
<Grid Grid.Row="2" ></Grid>
CRLF
CRLF
</Grid>
CRLF
</DataTemplate>
CRLF
</ListBox.ItemTemplate>
CRLF
</ListBox>
CRLF
CRLF
</Grid>
CRLF
实现:
即将跳转到页面A,在页面A中有一个listbox,在跳转的时候,接收参数,自动选中listbox中的某项
/// <summary>
CRLF
/// 接收参数,定位当前选中项
CRLF
/// </summary>
CRLF
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs args)
CRLF
{
CRLF
IDictionary<string, string> parameters = this.NavigationContext.QueryString;
CRLF
CRLF
if (parameters.ContainsKey("Id"))
CRLF
{
CRLF
string id = parameters["Id"];//图片Id
CRLF
CRLF
int index = 0;
CRLF
for (int i = 0; i < imglist1.Items.Count; i++)
CRLF
{
CRLF
//ImgInfoBase为listbox的Item项; imglist1.ItemsSource=(List<ImgInfoBase>) ...
CRLF
ImgInfoBase item = (ImgInfoBase)imglist1.Items[i];
CRLF
if (item.Id == id)
CRLF
{
CRLF
index = i;
CRLF
break;
CRLF
}
CRLF
}
CRLF
CRLF
if (imglist1.Items.Count > index)
CRLF
{
CRLF
UpdateLayout();
CRLF
imglist1.SelectedIndex = index;//使listbox滚动到指定的位置项上
CRLF
CRLF
//imglist1.ScrollIntoView(imglist1.Items[index]);
CRLF
}
CRLF
}
CRLF
CRLF
base.OnNavigatedTo(args);
CRLF
}
CRLF