c# - 数据模板 x :Bind namespace error

标签 c# visual-studio xaml uwp

我对使用 Visual Studio 2015 进行 Windows 10 UWP 开发有疑问。

我正在尝试根据 this 为我的 GridView 使用 DataTemplate教程。我遇到的问题是我的命名空间。

出于明显的原因,我不允许分享我的确切代码,但我想知道你们中的某个人以前是否遇到过这个问题。我得到的错误几乎与 this 相同人(错误代码 0x09c4),除了我的 DataTemplate 在我的代码隐藏文件中,不像他/她那样全局。除了那个错误,我还得到了虚幻的“命名空间 _namespace 中不存在 _name”。

这是我的 xaml 文件的一部分:

<Grid>
...
    <GridView ItemsSource="{x:Bind ViewModel.AssessExItems}">
        <GridView.ItemTemplate>
            <DataTemplate x:DataType="local:AssessExItem">

            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
</Grid>

我知道 DataTemplate 是空的,但即使我在那里输入内容,它仍然不起作用。这是我的这个 xaml 文件的代码隐藏文件:

public sealed partial class AssessmentExample1Screen : Page
{
    public AssessExItemViewModel ViewModel { get; set; }

    public AssessmentExample1Screen()
    {
        this.InitializeComponent();
        this.ViewModel = new AssessExItemViewModel();
    }
}

public class AssessExItem
{
    public int _assessment_id { get; set; }
    public string name { get; set; }
    public string surname { get; set; }
    public string date { get; set; }

    //public EmpAssessItem() { }
}

public class AssessExItemViewModel
{
    private ObservableCollection<AssessExItem> exampleItems = new ObservableCollection<AssessExItem>();
    public ObservableCollection<AssessExItem> AssessExItems { get { return this.exampleItems; } }

    public AssessExItemViewModel()
    {
        //for (int i = 1; i < 3; i++)
        //{
        this.exampleItems.Add(new AssessExItem()
        {
            name = "Cat 777",
            surname = "Botha",
            date = "2015-03-22"
        });
        //}
        this.exampleItems.Add(new AssessExItem()
        {
            name = "XZR 678",
            surname = "Botha",
            date = "2015-03-22"
        });
        this.exampleItems.Add(new AssessExItem()
        {
            name = "TBL 123",
            surname = "Botha",
            date = "2015-03-22"
        });
    }
}

请帮忙。

最佳答案

我重现了你的问题。 如何解决:清理并构建或重建解决方案。然后我对其进行了测试,它可以工作。 我猜它发生的最可能原因是构建可以更新文件 mainpage.g.cs,它决定了在哪里可以找到数据类型。

   <GridView ItemsSource="{x:Bind ViewModel.AssessExItems}">
        <GridView.ItemTemplate>
            <DataTemplate x:DataType="local:AssessExItem">
                <StackPanel Height="100" Width="100" Background="OrangeRed">
                    <TextBlock Text="{x:Bind name}"/>
                    <TextBlock Text="{x:Bind  surname}" x:Phase="1"/>
                    <TextBlock Text="{x:Bind date}" x:Phase="2"/>
                </StackPanel>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>

关于c# - 数据模板 x :Bind namespace error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34038631/

相关文章:

xaml - 电话 8 XAML : Horizontal Alignment in LongListSelector

c# - GridViewRow 单元格在按钮中返回空字符串单击事件在 Gridview 中启动

c# - 强制 WinForms 重新生成 .designer.cs 文件

c++ - 模板库的编译器内存消耗(boost + Eigen)

c# - 为什么 C# 没有像 VB 这样的 Handles 子句?

c# - 如何摆脱 Pivot Control 中的标题?赢10

c# - 确定集合是否属于 IEnumerable<T> 类型

c# - 从封闭的泛型中提取泛型类型

c# - 为什么 C# 内存流要预留这么多内存?

c#提交到数据库时从字符串中剥离字符