gpt4 book ai didi

c# - 使用 WP7 和 WP8 之间共享的 LongListSelector 的屏幕

转载 作者:行者123 更新时间:2023-11-30 18:32:36 25 4
gpt4 key购买 nike

在我的项目中,我有一个在 WP7 和 WP8 客户端之间共享的库。该库包含 View 、 View 模型和其他有趣的数据。

我还想使用最新版本的 Windows Phone Toolkit。

我遇到的问题是,虽然我的 xaml 代码是兼容的,但我遇到了运行时错误,因为 LongListSelector 存在于适用于 wp7 的 Windows Phone 工具包和适用于 WP8 的框架代码中的不同程序集中。

在 wp7 中:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

在 wp8 中:

xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"

如何在不需要为两个平台复制我的 xaml 的情况下解决这个难题?

最佳答案

毕竟这是我决定实现的解决方案:

  1. 我认为包含 WP7 和 WP8 的所有 View 的库不适合放置实际上在各个平台上不同的 View 。因此,我创建了两个有问题的 View 副本,并将它们放在各自的 WP7 和 WP8 应用程序项目中。

  2. 这在 xaml 中造成了一些重复 - 对我来说幸运的是,我的 xaml 不是很复杂 - 只有少数控件和样式。所以我为每个页面创建了一个样式字典,并放在 WP7 项目中的页面旁边。

  3. 我将字典文件链接到 WP8 项目中。我对文件背后的代码做了同样的事情。

  4. 在我的 xaml 文件中,我将本地字典文件与这些页面上使用的样式链接起来:

  5. 通过这个解决方案,我实现了最少的代码重复,所有样式仍然在一个地方,唯一不同的代码 (XAML) 放在了真正属于它的地方。

最终的文件夹树看起来像这样:

Solution
|-- Common Library
| |-- Views
| |-- Page1
+-- WP7
|-- Views
|-- Page1
|-- Page1.xaml (Windows 7 specific markup)
|-- Page1.xaml.cs (code behind file)
|-- Page1.styles.xaml (common styles shared between wp7 and wp8 apps)
+-- WP8
|-- Views
|-- Page1
|-- Page1.xaml (Windows 8 specific markup)
|-- ->Page1.xaml.cs (linked from the WP7 project)
|-- ->Page1.styles.xaml (linked from the WP7 project)

关于c# - 使用 WP7 和 WP8 之间共享的 LongListSelector 的屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18485867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com