Windows应用商店通用8.1应用程序如何绑定到共享区域中的数据

时间:2014-09-19 14:10:59

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

我将我正在运行的Phone8应用程序移植到通用的应用程序(商店和电话8.1)

Class 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。

我创建了一个新的通用应用程序,并将类新闻列表放在共享区域中。

上面的字典资源现在位于Page.Resources块中,上面的代码不再有效。我明白了: “名称为NewsList的名称不存在于名称空间BowlsGroup.Data.News”。

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

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

NewsList声明部分:

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

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

感谢Jogy的帮助。几个月前我遇到了类似的问题,这个问题已经治好了 当其他异常被分类时。有时我不得不关闭解决方案并重新打开它。 我无法确定c#代码中的哪种错误导致了这个最新的问题。

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

我觉得它是这样的; 使用违规的xmlns标记,我得到一个错误。 当我删除标记时,我看到其他错误。修复这些并恢复标记 项目构建没有错误。

对于模糊的回答感到抱歉,再次感谢。