Joe*_*ite 3 convention-over-configur caliburn.micro
如果我的View中有一个名为Save的按钮,那么我可以将Save属性添加到我的ViewModel中,Caliburn.Micro会自动将它绑定到我的按钮的内容.例如:
public string Save { get { return StringResources.Save; } }
Run Code Online (Sandbox Code Playgroud)
或者我可以向我的ViewModel添加Save方法,Caliburn.Micro将在单击按钮时执行该方法.例如:
public void Save() {
Document.Save();
}
Run Code Online (Sandbox Code Playgroud)
但如果我想同时做两件事呢?C#不允许我声明一个方法和一个具有相同名称的属性.我可以用约定双方设置按钮的内容和动作单击时执行?
(我知道我可以手动绑定一个或另一个,但我更愿意使用约定,如果它是实用的.)
这是一个常见的需求,因此您认为它将内置于Caliburn.Micro中,但似乎并非如此.我已经看到一些扩展约定的代码来支持这个(如果没有更好的结果,我会把它作为答案发布),但这是一个带有一些奇怪怪癖的解决方法 - 所以我想听听是否还有其他人使这项工作更加干净.
注意:我确实看到了类似的问题,但这似乎是关于这是否是一个好主意; 我在问机械师.(在我看到机制之前,我会保留判断是否是个好主意.(笑))
又脏又脏
<Button x:Name="Save"><TextBlock x:Name="SaveText"></TextBlock></Button>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1334 次 |
| 最近记录: |