- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个使用 longlistselector 的应用程序。我有两个代码库,一个用于 wp7,另一个用于 wp8,但我的长列表选择器在我创建的项目分隔符中提供了正确的填充,并且相同的代码在 wp7 上运行良好。
longlistselctor 的代码是
<controls:LongListSelector Margin="30,30,30,30" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Visible" x:Name="listofintroductions"
Background="White" Visibility="{Binding Hotintrovisibility, Mode=TwoWay, UpdateSourceTrigger=Default}" ItemsSource="{Binding introductions, Mode=TwoWay, UpdateSourceTrigger=Default}">
<controls:LongListSelector.ListHeaderTemplate>
<DataTemplate>
<Grid Margin="0,0,0,0" Height="100">
<StackPanel Orientation="Horizontal">
<Image Source="/Images/flame.png" Stretch="Uniform" VerticalAlignment="Center" HorizontalAlignment="Left" Height="45" Width="40" Margin="26.5,0,0,0"/>
<TextBlock Text="Hot Introductions" Foreground="#404041" FontFamily="/Fonts/HelveticaNeue.ttf#Helvetica Neue" FontSize="25.5" FontWeight="Normal" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="15,0,0,0"/>
</StackPanel>
<Grid Height="2" Background="#E6E6E6" Width="480" VerticalAlignment="Bottom"/>
</Grid>
</DataTemplate>
</controls:LongListSelector.ListHeaderTemplate>
<controls:LongListSelector.ListFooterTemplate>
<DataTemplate>
<Grid x:Name="viewallintros" Tap="viewallintros_Tap" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<TextBlock Text="View all potential intros" FontFamily="/Fonts/HelveticaNeue.ttf#Helvetica Neue" FontSize="25" Padding="20" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="#404041"/>
</Grid>
</DataTemplate>
</controls:LongListSelector.ListFooterTemplate>
<controls:LongListSelector.ItemTemplate>
<DataTemplate>
<Grid x:Name="hotintrotemplate" Tap="hotintrotemplate_Tap" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="22"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<TextBlock x:Name="nameintro" Text="{Binding name}" FontSize="25.5" FontFamily="/Fonts/HelveticaNeue-Medium.ttf#Helvetica Neue" Foreground="#4EBEC7" FontWeight="Bold" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Padding="30,19,0,3"/>
<TextBlock x:Name="introid" Text="{Binding Contactid}" Height="0" Width="0"/>
</Grid>
<Grid Grid.Column="1">
<TextBlock Text="{Binding number_introduction}" FontWeight="Bold" FontSize="25.5" Foreground="#83D96F" FontFamily="/Fonts/HelveticaNeue.ttf#Helvetica Neue" HorizontalAlignment="Stretch" TextAlignment="Right" VerticalAlignment="Stretch" Padding="0,19,30,3"/>
</Grid>
</Grid>
<Grid Grid.Row="1">
<TextBlock Text="{Binding title}" FontWeight="Bold" FontFamily="/Fonts/HelveticaNeue.ttf#Helvetica Neue" TextWrapping="NoWrap" FontSize="19.5" Foreground="#404041" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Padding="30,3,30,3"/>
</Grid>
<Grid Grid.Row="2">
<TextBlock Text="{Binding Company_name}" FontWeight="Bold" TextWrapping="NoWrap" FontSize="18" FontFamily="/Fonts/HelveticaNeue.ttf#Helvetica Neue" Foreground="#d5d5d5" TextAlignment="Left" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Padding="30,3,30,3"/>
</Grid>
<Grid Grid.Row="3" Margin="34,0,34,0">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left">
<Image Source="/Images/icon_linkedin@2x.png" Stretch="Uniform" Visibility="{Binding linkdenicon}" Height="20" Margin="0,9,10,9" />
<Image Source="/Images/icon_twitter@2x.png" Stretch="Uniform" Visibility="{Binding twittericon}" Height="20" Margin="0,9,10,9" />
<Image Source="/Images/icon_facebook@2x.png" Stretch="Uniform" Visibility="{Binding facebookicon}" Height="20" Margin="0,9,10,9" />
<Image Source="/Images/icon_web_link@2x.png" Stretch="Uniform" Visibility="{Binding googleplusicon}" Height="20" Margin="0,9,10,9" />
</StackPanel>
</Grid>
<Grid Grid.Row="4" Height="2" Width="480" Background="#E6E6E6" Margin="-30,20,-30,0"/>
</Grid>
</DataTemplate>
</controls:LongListSelector.ItemTemplate>
</controls:LongListSelector>
如您所见,我制作了一个高度为 2 像素的网格作为项目分隔符,但它看起来像这样......
您可以在项目分隔符中看到正确的填充。我无法理解为什么会这样。
最佳答案
我遇到了与上述相同的问题。我注意到只有当列表中的项目多于屏幕上显示的项目时才会出现此问题。我发现是 VerticalScrollBar 造成了这个问题。当不需要 VerticalScrollBar 时(列表中没有足够的项目),滚动条“折叠”并且项目正确地右对齐。所以.. 您会认为将 ScrollViewer.VerticalScrollBarVisibility
设置为 Collapsed
会解决问题,对吗?嗯,Collapsed
出于某种原因不是一个选项。 Hidden
或 Disabled
之类的东西也可以解决问题吗?太糟糕了。那也行不通。
在网上搜索后,我发现了一个相当不错的解决方法。以下博客解释了该问题和解决方法:http://y2bd.me/blog/2013/10/31/fixing-the-long-list-selectors-scrollbar-spacing-issue/
由于链接可能会被删除,我也会在此处复制解决方案。
博客的作者为 LongListSelector
创建了一个样式,从选择器中“提取”VerticalScrollBar,并让 ScrollBar“悬停”在列表上方。
因此在您的 ResourceDictionary 中添加以下样式:
<Style x:Key="LLSFloatingScrollbarStyle"
TargetType="phone:LongListSelector">
<Setter Property="Background"
Value="Transparent" />
<Setter Property="Foreground"
Value="{StaticResource PhoneForegroundBrush}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="phone:LongListSelector">
<Grid Background="{TemplateBinding Background}"
d:DesignWidth="480"
d:DesignHeight="800">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ScrollStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="00:00:00.5" />
</VisualStateGroup.Transitions>
<VisualState x:Name="Scrolling">
<Storyboard>
<DoubleAnimation Duration="0"
To="1"
Storyboard.TargetProperty="Opacity"
Storyboard.TargetName="VerticalScrollBar" />
</Storyboard>
</VisualState>
<VisualState x:Name="NotScrolling" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid Margin="{TemplateBinding Padding}">
<ViewportControl x:Name="ViewportControl"
HorizontalContentAlignment="Stretch"
VerticalAlignment="Top" />
<ScrollBar x:Name="VerticalScrollBar"
Margin="4,0,-12,0"
Opacity="0"
HorizontalAlignment="Right"
Orientation="Vertical" />
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
最后,在 LongListSelector 上添加样式引用,如下所示,您就可以开始了!
<phone:LongListSelector Style="{StaticResource LLSFloatingScrollbarStyle}" />
特别感谢博客的作者。
关于c# - LongListSelector Windows Phone 8 中不必要的右填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22266166/
我无法让我的长列表选择器正常工作。当列表比屏幕高时,长列表选择器保持静态,我无法滚动查看所有项目。 有什么想法吗?
使用 LongListSelector 对日期进行分组的 Windows Phone 8 SDK 问题。我熟悉 grouping on letters 的 AlphaKeyGroup 辅助方法。 .
我关心的是突出显示我的 LongListSelector 中的选定项目当用户点击它时。 我试过这个解决方案:http://code.msdn.microsoft.com/windowsapps/Hig
我在 Windows Phone 8 应用程序中有一个 LongListSelector(在 PivotItem 中)控件。我看到一个奇怪的行为。有时 LLS 停止滚动。就像卡住一样,我无法滚动它。但
我有这个类 AlphaKeyGroup: public class AlphaKeyGroup : List { /// /// The delegate that is used
我刚开始使用 C# Windows Phone 8 进行开发,我正在尝试编写一个使用 LongListSelector 的应用程序。该应用程序将显示一长串火车站名称。 我一直在网上查看一些示例,包括
我的 App LongListSelector 中有一个,这是我设置项目源的方式: historylist.ItemsSource = new List(historyRep.historyArray
我是 WP8 的新手。 我对 longlistselector 有疑问。 我有一个长列表选择器,我将它滚动到最后一项。没关系。 但是当我降低它的高度并将它滚动到最后一项时。但 longlistsele
我有一组要显示为列表的对象。因此,我将 LongListSelector 与该集合绑定(bind)。集合中的所有项目都以列表的形式出现。接下来我要做的是当用户长按某个项目时,它会弹出一个带有删除、添加
我有一个聊天应用程序,它在 LongListSelector 中显示消息,并使用语句 ObservableCollection.Insert(0, message) 添加新消息。 我的问题是,添加新消
在我的 WP8 应用程序中,我正在尝试实现一项功能,允许我保存 LongMultiListSelector 的滚动位置并在稍后将其滚动到该位置(例如,在逻辑删除之后)。事实证明这是一项艰巨的任务,尽管
LongListSelector 是否支持数据虚拟化?我在几个博客上看到它确实有效,但无法正常工作。 这是我尝试过的:我提供了一个 IList 实现作为列表的 ItemsSource。问题在于 Lis
我在 Windows Phone 8 上使用 LongListSelector 控件,无法找到处理项目点击的最佳方式。我发现的几个例子依赖于 SelectionChanged 事件。但是,这个解决方案
有谁知道如何更改 LongListSelector 的滚动条的颜色。我尝试更改 ControlTemplate 上的前景,但没有成功。 最佳答案 LongListSelectors 模板中 Scrol
我在 Windows Phone 应用程序中有一个 LongListSelector。 每个项目都有一个图片和一个文字。 我想为它们交替使用两个不同的 ItemTemplates。 第一个是右边的图片
我使用 mvvm 模式创建了一个 longlistselector。 我在不同的标题下创建了许多城市名称。 我想知道如何在用户选择或点击特定项目时导航到特定页面。 最佳答案 您可以简单地为每个 Lis
我正在使用 LongListSelector 在 Windows Phone 8 上使用 XAML 和 C# 制作无限滚动提要。要显示的项目从网络提要加载并使用数据绑定(bind)显示,每个项目的字段
我只想在我的 LongListSelector 中的当前选定项周围显示一个边框。我已经为我的 LongListSelector 设置了一个 ItemTemplate,但是我不确定如何修改 Border
我想动态更改 LongListSelector 的 ItemTemplate。我通过将它绑定(bind)到我的 ViewModel 中的一个属性来做到这一点: 到目前为止,这是可行的。问题是,如
我的应用程序中有一个特定的配色方案,我不想让我的 LongListSelectors 跳转列表样式与我的配色方案完全匹配,我已经为 JumpList 等创建了样式。
我是一名优秀的程序员,十分优秀!