如何在 WP8 中获取 LongListSelector 的 VerticalOffset

2023-11-26

在 WP7 中,LongListSelector 有一个底层 ScrollViewer,我可以从中恢复列表的垂直偏移。但在 Windows Phone 8 中,没有底层 ScrollViewer 或任何类似的类为我提供 VerticalOffset 属性。

我一直在寻找,但没有找到任何东西。我可以使用一个给出列表中第一个可见元素的函数来解决,但我也没有找到任何东西。 ItemRealized 事件对此没有用,因为它没有提供在视口顶部显示的确切项目。


这将为您提供 LLS 中的第一个可见项目。

private Dictionary<object, ContentPresenter> items;

private object GetFirstVisibleItem(LongListSelector lls)
{
    var offset = FindViewport(lls).Viewport.Top;
    return items.Where(x => Canvas.GetTop(x.Value) + x.Value.ActualHeight > offset)
        .OrderBy(x => Canvas.GetTop(x.Value)).First().Key;
}

private void LLS_ItemRealized(object sender, ItemRealizationEventArgs e)
{
    if (e.ItemKind == LongListSelectorItemKind.Item)
    {
        object o = e.Container.DataContext;
        items[o] = e.Container;
    }
}

private void LLS_ItemUnrealized(object sender, ItemRealizationEventArgs e)
{
    if (e.ItemKind == LongListSelectorItemKind.Item)
    {
        object o = e.Container.DataContext;
        items.Remove(o);
    }
}

private static ViewportControl FindViewport(DependencyObject parent)
{
    var childCount = VisualTreeHelper.GetChildrenCount(parent);
    for (var i = 0; i < childCount; i++)
    {
        var elt = VisualTreeHelper.GetChild(parent, i);
        if (elt is ViewportControl) return (ViewportControl)elt;
        var result = FindViewport(elt);
        if (result != null) return result;
    }
    return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 WP8 中获取 LongListSelector 的 VerticalOffset 的相关文章

  • Windows Phone 7 上的 Dispatcher.Invoke()?

    在回调方法中 我尝试获取文本框的文本属性 如下所示 string postData tbSendBox Text 但因为它不是在 UI 线程上执行 所以它给了我一个跨线程异常 我想要这样的东西 Dispatcher BeginInvoke
  • 获取当前Windows Phone 7设备的ID

    有没有一种方法可以唯一地识别我的应用程序正在运行的 Windows Phone 设备 有 Windows Phone 设备 ID 之类的吗 Try DeviceExtendedProperties GetValue DeviceUnique
  • 如何缩小 Windows Phone 中的图像尺寸

    我正在尝试将我的应用程序移植到 Windows Phone 中 我必须在服务器上上传图像 所以它的尺寸很小为了上传我已经在Widows中成功完成了这件事 但问题是当我失败时 这是我的Windows应用程序代码 public void Com
  • ViewModel 中的 MediaElement.play()

    我正在努力解决以下问题 我正在使用 MVVM 模式构建 WP8 应用程序 我的 view xaml 中有一个媒体元素 并且在 viewmodel cs 中有控制该媒体元素的逻辑 例如 播放 停止 暂停和音量 如何使用绑定从我的视图模型在此媒
  • WP7 上的 POST 请求

    我花了大约 6 个小时试图弄清楚如何在 WP7 中发出常规 POST 请求 我尝试了此处和许多其他地方发布的类似问题的答案 我还尝试了许多不同的 API POST 请求 它们都导致针对某一特定问题 远程服务器返回错误 NotFound 好像
  • 在 Windows Phone 8 中设置广告

    我发现了一些对类似问题的零散回复 主要是 Windows Phone 7 但我想发布一个包含 Windows Phone 8 广告的所有要求的答案 我在 Windows Phone 8 中设置广告时遇到了一些问题 每次运行模拟器时 我都会遇
  • 如何在 Windows Phone 7 中创建自定义文本框?

    是否可以通过创建自定义文本框来处理 sip 我想创建一个自定义文本框 gt 创建获得焦点事件 gt 在我的自定义文本框的焦点上而不是 SIP 上 我的自定义键盘应该打开 要求 如何创建自定义文本框 打开自定义键盘而不是 SIP 获取文本字段
  • 如何在 C# 中的 HttpClient 中使用凭据?

    我在使用 HttpClient 类访问 Delicious API 时遇到一些问题 我有以下代码 try const string uriSources https api del icio us v1 tags bundles all p
  • 原生编程对于移动开发有何优势?

    我需要为一家公司在一些主要的移动操作系统上开发应用程序 特别是 iOS Android 和 WP7 我最初计划为三种不同的操作系统编写三个独立的应用程序 每个应用程序都使用本机 SDK 然而 这样做有什么好处吗 有许多可用的跨平台工具 Se
  • IBM Worklight - $("#pagePort").load() 在 Windows Phone 8 中不起作用

    我在用着 pagePort load 用于在我的应用程序的页面之间导航 并且它在 Android 模拟器和设备 中完美运行 但是 当我尝试从 Windows Phone 8 模拟器运行我的应用程序时 它无法更改其页面 为了使changePa
  • Windows Phone 7 中的 ASCII 编码

    有没有办法在 Windows Phone 7 中使用 ASCIIEncoding 除非我做错了什么Encoding ASCII不存在 我需要它来进行 C gt PHP 加密 因为 PHP 在 SHA1 加密中仅使用 ASCII 有什么建议么
  • 以编程方式更改应用栏图标

    在我的 C Windows Phone 8 应用程序中 我有一个 AppBar 我的这个 AppBar 上有两个图标 一个是新图标 一个是编辑图标 我想将编辑图标更改为每当按下时返回图标 然后每当再次按下时返回编辑图标 我已经尝试过这段代码
  • 如何在 Windows Phone 8 中安装 .xap PhoneGap 版本?

    我使用phonegap android开发了一款简单的游戏 但在为Windows iOS Android 黑莓等构建后 它仅适用于Android设备 因此我可以为Android设备安装apk文件 但在Windows xap文件中未检测到Wi
  • 通过 SMS(URI 关联)启动应用程序

    是否可以通过短信使用预先注册的 URI 启动应用程序 我成功地测试了通过网站上的链接启动应用程序 例如链接的 href 中的 myapp param test 但在 SMS 方面却没有运气 有没有办法通过短信启动自己的应用程序 感谢和问候
  • 如何加载位于 Windows Phone 7 中应用程序文件夹内的 XML 文件?

    我正在开发 Windows Phone 7 应用程序 我是 Windows Phone 7 应用程序的新手 我通过右键单击项目并选择 添加 gt 新项目 在项目中添加了 XML 文件 然后 我可以使用以下代码轻松地将 XML 文件加载到我的
  • 如何使用 Windows.Web.Http 下载和存储图像?

    如何使用 Windows Web Http 从 Internet 下载 jpeg 图像并将其存储在 Windows 应用商店应用程序中 我面临的问题是我不知道必须对图像使用什么 Get Async 和 Write Async 方法 文件与字
  • 从 WP8 连接至 Polar H7 心率监测器

    有没有办法从 Windows Phone 8 连接到低功耗蓝牙设备 例如心率监测器 例如 Polar H7 我尝试过的一些背景 我看过这个 Windows 8 的示例 http code msdn microsoft com windows
  • 为 Windows Phone 7 创建自定义 InputScope

    在哪里可以找到创建自定义 InputScope 的教程 我想创建一个自定义键盘 在屏幕键盘上仅显示数字 1 9 无符号 您无法创建自定义输入范围 以下是支持的范围输入范围名称值枚举 http msdn microsoft com en us
  • 如何以编程方式设置 TextBlock 前景十六进制颜色

    我必须实用地使用文本块的前景色十六进制颜色 它不起作用 请帮助我 我试过这个例子 txtHome Foreground new SolidColorBrush Colors Red 但我想使用十六进制颜色代码而不是使用 Color red
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法

随机推荐

  • 模板 haskell 中的数据构造函数

    我正在尝试创建环 Z n 像普通算术一样 但以某个整数为模 Z4 就是一个示例 instance Additive C Z4 where zero Z4 0 Z4 x Z4 y Z4 x y mod 4 戒指依此类推 我希望能够快速生成这些
  • perl 中的命名空间、包和模块有什么区别?

    命名空间或包相同吗 我使用 Perl 我们只有包 我知道还有其他编程语言也包含模块 有什么不同 The package指令设置命名空间 因此 命名空间也称为包 Perl 没有模块的正式定义 有很多差异 但以下内容适用于绝大多数模块 一个带有
  • AngularJS 指令中的可选表达式属性

    我有一个自定义导航指令 需要一个可选的 禁用 属性 我不确定它是否可能 在我的主控制器中 controller NavCtrl UserResource RoleResource function UserResource RoleReso
  • 使用 Excel 中的 VBA 打开 Outlook 邮件 .msg 文件

    我试图使用 VBA 从指定目录打开 msg 文件但我不断收到运行时错误 我的代码 Sub bla Dim objOL As Object Dim Msg As Object Set objOL CreateObject Outlook Ap
  • 确定asp.net core中的端口

    我想用asp net core Web Api 制作一些微服务 对于服务发现 我想使用 Consul 我必须通过 HTTP API 注册服务 包括 IP 和端口 我的问题是 我如何知道服务中使用了哪个端口 有没有办法通过代码确定使用的端口
  • 从 URL 同步下载图像

    我只想从互联网 URL 获取 BitmapImage 但我的函数似乎无法正常工作 它只返回图像的一小部分 我知道 WebResponse 是异步工作的 这当然就是我遇到这个问题的原因 但是我怎样才能同步完成呢 internal static
  • 使用Spring的CachingConnectionFactory时关闭Session

    java 文档here与 Spring CachingConnectionFactory 相关的有评论 注意 此 ConnectionFactory 要求显式关闭从其共享连接获取的所有会话 无论如何 这是对本机 JMS 访问代码的通常建议
  • 更改服务器发送事件的源 (url)

    如何更改声明中的源集EventSource 我尝试过这样的事情 var source new EventSource blahblah php path window location pathname Few lines later so
  • asp.net(母版页)中的默认按钮?

    在我的网络应用程序中 我有一个母版页 当用户按 Enter 键 我的应用程序有母版页 时 我想为登录页面实现默认按钮 我如何放置默认按钮 Page Form DefaultButton crtlLoginUserLogin FindCont
  • self.image.frame.width = 20 给出仅获取属性错误

    我试图将图像视图的宽度更改为 20 IBOutlet weak var image UIImageView 在 viewDidLoad 中使用此代码self image frame width 20但它给我错误无法分配给属性 width是一
  • 如何检测元素是否具有“自动”高度

    Both window getComputedStyle element height and element clientHeight返回元素的当前高度 以像素为单位 无论 CSS 中设置的值如何 有什么方法可以查出高度是否设置为auto
  • 在带有 m1 芯片的 Mac 上导入 jax 失败

    对于 python 3 8 8 并使用新的 mac air 带有 m1 芯片 在 jupyter 笔记本和 python 终端中 import jax引发此错误 Python 3 8 8 default Apr 13 2021 12 59
  • 尝试使用 python 访问“googledrive”时出错(googlequickstart.py源代码)

    我正在尝试学习如何从 Python 访问 Google Drive 但遇到问题 我按照google官网的教程进行操作 https developers google com drive t python hl es另外 我看过关于此的视频教
  • Ionic 4 本机插件地理定位给我“找不到模块:错误:无法解析‘rxjs/Observable’”

    我正在尝试使用 ionic 本机插件geolocation in ionic 4但我收到了这个错误 编译失败 node modules ionic native geolocation index js 找不到模块 错误 无法解析 rxjs
  • 使用键将列表映射到 Automapper 中的现有列表

    Automapper 可以轻松地将一个对象类型列表映射到另一个不同对象类型列表 但是是否可以使用 ID 作为键将其映射到现有列表 我还没有找到比以下更好的方法 这里是源和目的地 public class Source public int
  • CFEXECUTE 指定它以管理员权限运行

    我正在尝试使用活动目录更改密码cfexecute 我的页面上唯一的代码是这样的 填写用户名和新密码
  • 如何为 Android 自定义视图添加 OnClick 事件

    我有两个图像在屏幕上移动 一个是球 一个是人 我想要发生的是 当用户触摸该人的图像时 球就会掉落 我的问题是我似乎无法添加 onclick ontouch 事件并使其正常工作 我没有正确实施它 有人可以帮忙吗 我已经包括了以下 3 类 格雷
  • 如何在 Linux pthreads 中设置线程的名称?

    Linux 中有没有办法设置线程的名称 我的主要目的是它在调试时会很有帮助 而且如果该名称通过例如暴露出来也很好 proc PID task TID 从 glibc v2 12 开始 您可以使用pthread setname np and
  • X 秒后执行 JavaScript

    我正在使用 和 JavaScript 构建一个插页式页面 脚本非常简单但简洁 一切正常 但我还想在几秒钟 例如 10 秒 后关闭 div 到目前为止我所拥有的 我有两个 div 1 和 2 我对 div 1 进行了 CSS 设置 例如 di
  • 如何在 WP8 中获取 LongListSelector 的 VerticalOffset

    在 WP7 中 LongListSelector 有一个底层 ScrollViewer 我可以从中恢复列表的垂直偏移 但在 Windows Phone 8 中 没有底层 ScrollViewer 或任何类似的类为我提供 VerticalOf