【问题标题】:Windows Store Universal 8.1 App How to Bind to data in Shared areaWindows Store Universal 8.1 App 如何绑定到共享区的数据
【发布时间】:2014-09-19 14:10:59
【问题描述】:

我正在将我的 Phone8 应用程序移植到通用应用程序(Store 和 Phone 8.1)

类 NewsList 扩展了 ObservableCollection。 我在 Xaml 的 Listview 中使用 ItemsSource="NewsItems" 使用这样的标记绑定到它:

xmlns:news="clr-namespace:BowlsGroup.Data.News"

<phone:PhoneApplicationPage.Resources>
    <ResourceDictionary>
        <news:NewsList x:Key="NewsItems"/>
    </ResourceDictionary>
</phone:PhoneApplicationPage.Resources>

这适用于 Phone8。

我创建了一个新的 Universal 应用程序并将类 NewsList 放在共享区域中。

上面的字典资源现在在 Page.Resources 块中,上面的代码不再有效。我得到: "名称 NewsList 不存在于命名空间 BowlsGroup.Data.News"。

事实并非如此。 我尝试在 App.xaml 中做标记,但同样的问题。

问题是:如何绑定共享项目区的数据?

NewsList 声明部分:

namespace BowlsGroup.Data.News
{
    public class NewsList : ObservableCollection<NewsItem>, INotifyPropertyChanged
    {
    }
}

【问题讨论】:

    标签: c# xaml windows-store-apps windows-phone-8.1


    【解决方案1】:

    改变

    xmlns:news="clr-namespace:BowlsGroup.Data.News" 
    

    xmlns:news="using:BowlsGroup.Data.News"
    

    查看这篇博文,了解在 WinRT 和 Silverlight 中引用命名空间的区别: http://www.thomasclaudiushuber.com/blog/2012/08/18/windows-store-apps-winrt-xaml-vs-silverlight-xaml/

    【讨论】:

    • 已经试过了,报错:名称NewsList在命名空间中不存在 using:BowlsGroup.Data.News"。
    • @RatatatRichie 你也可以发布 NewsList 类的定义吗?
    • 编辑帖子..不要发布整个类源,只发布命名空​​间和类名声明...
    • 另外,您是否尝试过其他非 ObservableCollection 派生的类?我正在使用共享项目中的转换器类,它们可以正常工作
    • @RatatatRichie 我在 Shared 项目中使用 NewsList 类创建了一个空白应用程序,并从电话页面引用它。看看:skydrive.live.com/redir?resid=B37CC7D5117B9A1B!27508
    【解决方案2】:

    感谢乔吉的帮助。几个月前我有一个类似的问题已经治愈 当对其他异常进行排序时。有时我不得不关闭解决方案并重新打开它。 我实际上无法确定 c# 代码中的哪种错误导致了这个最新问题。

    在构建代码时,报告的唯一错误是以下类型: “名称 blah 不存在于命名空间 tiddleypom 中”。 昨天我尝试了很多东西,包括删除一些 Silverlight 缠身的代码。 (我正在将 phone8 应用移植到通用 8.1 解决方案中)。

    我认为它是这样的; 使用有问题的 xmlns 标记,我得到一个错误。 当我删除标记时,我看到了其他错误。关于修复这些并恢复标记 项目构建没有错误。

    抱歉,答案含糊不清,再次感谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 2013-01-10
      • 2015-11-26
      • 1970-01-01
      • 2015-03-18
      相关资源
      最近更新 更多