Wpf MVVM模式:BindingExpression路径错误:';数据';在'上找不到属性;对象';

Wpf MVVM模式:BindingExpression路径错误:';数据';在'上找不到属性;对象';,wpf,binding,mvvm,charts,Wpf,Binding,Mvvm,Charts,我正在尝试(第一次)使用MVVM模式来制作WPF图表,但我无法理解这个问题!为什么调试时我的主窗口上什么都没有! 在我的输出窗口中,我收到以下错误消息: System.Windows.Data错误:40:BindingExpression路径错误:在>'object''字符串(HashCode=-354185577)上未找到“Data”属性。BindingExpression:路径=数据;DataItem='String' (HashCode=-354185577);目标元素为“ColumnSe

我正在尝试(第一次)使用MVVM模式来制作WPF图表,但我无法理解这个问题!为什么调试时我的主窗口上什么都没有! 在我的输出窗口中,我收到以下错误消息:

System.Windows.Data错误:40:BindingExpression路径错误:在>'object''字符串(HashCode=-354185577)上未找到“Data”属性。BindingExpression:路径=数据;DataItem='String' (HashCode=-354185577);目标元素为“ColumnSeries”(名称=“”);目标属性为>'ItemsSource'(类型为'IEnumerable')

这是myProject.View中的mainWindow.xaml

    <Window x:Class="Chart.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
     xmlns:diag="clr-namespace:System.Diagnostics;assembly=WindowsBase"
    Title="MainWindow" Height="350" Width="525"
    DataContext="Test">
<Grid>
    <chartingToolkit:Chart 
        Height="262" 
        HorizontalAlignment="Left" 
        Margin="33,0,0,620"
        Name="columnChart" 
        Title="ColumnSeriesDemo"
        VerticalAlignment="Bottom"
        Width="360">
              <chartingToolkit:ColumnSeries 
                  IndependentValueBinding="{Binding Path=DateTest, diag:PresentationTraceSources.TraceLevel=High}"
                  DependentValueBinding="{Binding Path=VolumeTest ,diag:PresentationTraceSources.TraceLevel=High}"
                  ItemsSource="{Binding Path=Data, Mode=TwoWay, diag:PresentationTraceSources.TraceLevel=High}" />
    </chartingToolkit:Chart>
</Grid>
任何帮助都将不胜感激:“(

删除该行

DataContext="Test"
从XAML的顶部


您正在代码中设置DataContext,但在XAML中再次将其设置为字符串。

我知道这个答复已经非常晚了,但我相信它会对那里的人有所帮助

我花了几个小时,因为我遇到了这样的错误,这种错误通常发生在像我这样的初学者身上:

错误显示:

BindingExpression路径错误:在“对象”上找不到属性

如果我从一开始就全神贯注,这确实是一个明确的信息

在我的例子中,我发现我在没有属性的情况下定义了feld

例如:

public string Name = "textss";
我认为XAML处理器需要这样一个完全实现的属性:

public string _name = "textss";

public string Name{
get{
    return _name;
    }
set{ 
    _name = value ;
    }
}
或者至少如下所示

public string Name {get; set;} 
所以这个问题的答案是Date属性有一些错误!! 我认为错误在于调用propChanged,并用小写字母“data”而不是“data”传递名称

公共ObservableCollection DataTest=新ObservableCollection(); 公共可观测收集数据 { 获取{return DataTest;} 设置{DataTest=value; 已更改(“数据”); } }
你完全正确。我的问题也完全一样——我只是没有意识到它应该是属性而不仅仅是字段。谢谢。
public string Name = "textss";
public string _name = "textss";

public string Name{
get{
    return _name;
    }
set{ 
    _name = value ;
    }
}
public string Name {get; set;} 
public ObservableCollection<DataItem> DataTest = new ObservableCollection<DataItem>();
   public ObservableCollection<DataItem> Data
   {
       get { return DataTest;}
       set { DataTest= value;
             propChanged("data");
           }
   }