我的装订有问题
这是错误:
System.Windows.Data Error: 40 : BindingExpression path error: 'TagCount' property not found on 'object' ''DataItem' (HashCode=45240216)'. BindingExpression:Path=TagCount; DataItem='DataItem' (HashCode=45240216); target element is 'TextBoxHelper' (Name=''); target property is 'TagCount' (type 'Int32')
这是我对程序的设计
class MainViewModel : Variables
{
}
以及变量代码
private int _TagCount;
public int TagCount
{
get { return _TagCount; }
set
{
_TagCount = value;
OnPropertyChanged("TagCount");
}
}
我在这里做的是一个可编辑的列表视图,该列表视图位于名为DataV
的用户控制中,在我的主窗口中称为该列表。在我的主窗口中,我在其中设置了datacontext以便链接View和ViewModel。我想要一种功能,用户可以在光标所在的文本框位置添加新行
这是代码
<ListView ItemsSource="{Binding DataItems}">
<ListView.View>
<GridView>
<GridViewColumn Header="Certificate">
<GridViewColumn.CellTemplate>
<DataTemplate>
<h:TextBoxHelper TagCount="{Binding Path=TagCount}" Tag="{Binding RecordCount}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
因此,为了让我在设置光标的地方拥有一个KEY
。我在列表视图内每个文本框的标签中传递了一个ID
。
然后我想要的是当使用Dependency Property
聚焦文本框时检索该KEY。
我在错误中了解的是找不到TagCount属性。所以我加了
TagCount="{Binding Path=TagCount, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
这样我可以告诉xaml TagCount属性在ViewModel中
但是错误仍然相同。我怎样才能解决这个问题。我从该站点找到的解决方案与我尝试过的解决方案相同。但是错误仍然存在。我该如何解决。谢谢