オブジェクトの ItemDataTemplate を選択するクラスがあります。しかし、XAML コードで参照できません。(Page.Resources)。
XAML の [項目] ページです。クラスは commons フォルダーにあり、ここで commons フォルダーを参照しました。
xmlns:common="using:Sample_App.Common"
そして、それを XAML に追加したくない場合:
<common:MyDataTemplateSelector x:Key="Selector" AdTemplate="{StaticResource Ad}" NormalTemplate="{StaticResource Normal}"></common:MyDataTemplateSelector>
次のエラーが表示されます。
「MyDataTemplateSelector」という名前は名前空間「using:MyDataSelector」に存在しません
MyDataSelector クラスは次のとおりです。
namespace MyDataSelector
{
private class MyDataTemplateSelector : DataTemplateSelector
{
public DataTemplate NormalTemplate { get; set; }
public DataTemplate AdTemplate{ get; set; }
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
{
if (item is TestApp.Mainpage.NormalData)
return NormalTemplate
if (item is TestApp.Mainpage.AdData)
return AdTemplate;
return SelectTemplateCore(item, container);
}
}
}