【发布时间】:2021-05-01 06:42:34
【问题描述】:
我正在尝试在 Excel VSTO 插件上使用带有系统 Windows 窗体界面的 MVVM
我已经创建了我的 API、我的模型和我的视图模型
我已成功测试可以使用 OnPropertyChanged 更新表单上的标签
我现在正在尝试使用视图模型中 List 对象的命名属性填充 CheckedListBox
虽然我的代码没有抛出错误,但它也没有显示所需的输出
这是视图中的代码示例
projects_label.DataBindings.Add(new Binding("Text", Globals.ThisAddIn.TFSConfigViewModel, "LabelText"));
projects_list_box.DataBindings.Add(new Binding("Text", Globals.ThisAddIn.TFSConfigViewModel, "ListOfProjectsFromVM.value.name"));
第一个示例运行良好。第二个不显示列表中的文字
我原以为属性会是“标签”,但除了“文本”之外的任何内容都出现错误
这是模型
public class TFS_Project
{
public string id { get; set; }
public string name { get; set; }
public string description { get; set; }
public string url { get; set; }
public string state { get; set; }
public int revision { get; set; }
public string visibility { get; set; }
}
public class TFS_Projects
{
public int count { get; set; }
public List<TFS_Project> value { get; set; }
}
这是来自视图模型
public Models.TFS_Projects ListOfProjectsFromVM
{
get
{
return _listOfProjectsFromVM;
}
set
{
_listOfProjectsFromVM = value;
OnPropertyChanged(nameof(ListOfProjectsFromVM));
}
}
【问题讨论】:
标签: winforms mvvm data-binding vsto