2015-12-02 45 views
2

我使用Visual Studio 2015年的DataTemplate X:綁定的命名空間的錯誤

我試圖根據this教程使用一個DataTemplate我的GridView有關Windows 10 UWP發展的問題。我遇到的問題是與我的名字空間。

由於顯而易見的原因,我不允許分享我的確切代碼,但我想知道你們中的一個人是否可能遇到過這種情況。我得到幾乎與this人(錯誤代碼0x09c4)相同的錯誤,除了我的DataTemplate在我的代碼隱藏文件中,不像他/她那樣是全局的。除了這個錯誤,我還得到了虛幻的「_name不存在於命名空間_namespace中」。

這裏是我的一塊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" 
     }); 
    } 
} 

請幫忙。

回答

6

我轉載了你的問題。 如何解決:清理並建立或重建解決方案。然後我測試它,它的工作原理。 我猜爲什麼它發生的最可能的原因是構建可以更新文件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> 
+1

感謝您的回答!是的,我設法通過清理和重建來實現它。儘管我必須手動重新輸入整個xaml文件,然後保存它們,關閉它們,重新啓動visual studio,然後重新打開並運行項目,然後再次打開文件。更重要的是,這隻有時有效......不知道爲什麼,但我明白了......現在。不知道多久,但。 – instanceof