我将我正在运行的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
{
}
}
答案 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标记,我得到一个错误。 当我删除标记时,我看到其他错误。修复这些并恢复标记 项目构建没有错误。对于模糊的回答感到抱歉,再次感谢。