Windows8网格应用程序中的自定义详细信息页面我创建了一个简单的C#Windows8网格应用程序。如果您不熟悉这种布局,这里有一个简短的描述:链接我想要的很简单-一些自定义的ItemDetailPages。我希望能够单击GroupDetailPage和GroupedItemsPage上的一些项目并导航到自定义.xaml文件,我可以在其中包含多个图像。我确信我缺少一种简单的方法,而且我确信这些信息对很多人都有用,所以我会在这个问题上悬赏。到目前为止,这是我一直在尝试做的事情:我在SampleDataSource.cs类中创建了一个CustomDataItem://////通用项目数据模型。///publicclassCustomDataItem:SampleDataCommon{publicCustomDataItem(StringuniqueId,Stringtitle,Stringsubtitle,StringimagePath,Stringdescription,Stringcontent,SampleDataGroupgroup):base(uniqueId,title,subtitle,imagePath,description){this._content=内容;this._group=组;}私有字符串_content=string.Empty;publicstringContent{get{returnthis._content;}set{this.SetProperty(refthis._content,value);}}私有SampleDataGroup_group;publicSampleDataGroupGroup{get{returnthis._group;this.SetProperty(refthis._group,value);但是,显然,添加到ObservableCollectionprivateObservableCollection_allGroups=newObservableCollection();publicObservableCollectionAllGroups{get{returnthis._allGroups;}}使用不同的数据类型是不可能的。那么遇到这种情况我该怎么办呢?太感谢了。我有一个简单的网格应用程序;我怎样才能使组项目页面中的某个元素链接到自定义项目详细信息页面?好吧,让我们获取使用VisualStudio中的“GridApp”模板时生成的应用程序。组项页面上元素的数据类是SampleDataItem类。您可以做的是添加一些指示如何处理导航的数据字段(bool、int或其他)。在这个例子中,我们保持简单,所以我们添加一个bool来指示导航是否是自定义的。publicclassSampleDataItem:SampleDataCommon{//添加标志作为最后一个参数,imagePath,description){this._content=内容;this._group=组;this.IsCustomNav=isCustomNav;}//为简单起见,这不处理INotifyPropertyChange,//与此类中的其余属性一样.publicboolIsCustomNav{get;放;}...}因此,当您想要添加一个新的SampleDataItem对象进行显示时,只需在构造函数中设置isCustomNav字段即可。现在,我们所要做的就是更改已存在于分组项目页面(GroupedItemsPage.xaml.cs)网格中的单击事件处理程序:voidItemView_ItemClick(objectsender,ItemClickEventArgse){//导航到适当的目标页面,通过传递所需信息作为导航参数来配置新页面//varitem=(SampleDataItem)e.ClickedItem;varitemId=item.UniqueId;if(item.IsCustomNav==false){//默认this.Frame.Navigate(typeof(ItemDetailPage),itemId);}else{//自定义页面this.Frame.Navigate(typeof(ItemDetailPage2),itemId);}}上面我们所做的就是获取选定的项目,然后测试我们之前添加的导航标记。基于此,我们导航到原始的ItemDetailPage或一个名为ItemDetailPage2的新页面。正如我之前提到的,导航标志不必是布尔值。它可以是int或enum或其他任何东西,并告诉我们导航到哪里。请注意,如果您希望在GroupDetailsPage上有类似的行为,您只需以相同的方式更新点击事件处理程序。希望有所帮助。是的,您应该能够创建自定义或不同的数据类型。如果您使用Grid模板创建一个Win8应用程序,您会看到该模板为您做了三件事:1)它创建了三种类型SampleDataCommon,它是基本的SampleDataItem,它实现了SampleDataCommon并添加了两个新属性–Content和Group和SampleDataGroup也实现SampleDataCommon,添加方法ItemsCollectionChanged,并添加两个属性Items和TopItems。2)它创建了一个名为SampleDataSource的类,其中创建了一个SampleDataGroup的集合并命名为AllGroups:ObservableCollectionAllGroups。3)它将SampleDataSource的Items和AllGroup绑定到XMAL页面中的对象。在您的情况下,您使用相同的数据结构。换句话说,你将创建一个包含项目等的组。以上就是C#学习教程:Windows8GridApplication中的自定义详情页分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
