使用Caliburn.Micro时,有没有一种方法可以从ViewModel中找到表单中的命名控件? IoC是否提供了获取表格的方法?
答案 0 :(得分:5)
您可以在视图模型中覆盖AttachView
或OnViewLoaded
(Screen
类型的一部分),Caliburn.Micro会将视图传递给,例如按钮控件:
public override void AttachView(object view, object context)
{
base.AttachView(view, context);
var frameworkElement = view as FrameworkElement;
if (frameworkElement == null)
{
return;
}
var button = frameworkElement.FindName("myButton") as Button;
if (button == null)
{
return;
}
// access button control here
}
答案 1 :(得分:1)
您也可以从视图模型中调用GetView()。然后搜索控件或按名称访问它。