如果我有这样的ViewModel:
public class ViewModel : IPropertyChangeBase, IViewModel
{
}
我在视图的xaml中设置的“Title”属性,它必须正确显示。
如果我从View继承ViewModel而不是标题中显示的是ViewModel的完整类型名称,例如“MarksProject.ViewModels.ViewModel”。这显示在窗口的标题上。
//View Title property being overriden.
public class ViewModel : Screen, IViewModel
{
}
答案 0 :(得分:7)
屏幕定义了Caliburn.Micro用于自动填充标题的属性DisplayName。只需在构造函数中设置如下:
public ViewModel() {
this.DisplayName = "MyTitle";
}
你将获得你的头衔 - 并在此过程中保存了一个房产;)
答案 1 :(得分:0)
从@ T045T的答案中调用构造函数中的虚拟成员(DisplayName
)通常是个坏主意。这是一种更安全的方式:
public class ViewModel : Screen
{
public override string DisplayName
{
get { return "View Title"; }
set { }
}
}
请注意,set { }
需要避免Mode=TwoWay
绑定错误。