1

使用 Caliburn.Micro 时,是否有一种从 ViewModel 的表单中查找命名控件的好方法?IoC 是否提供任何获取表格的方法?

4

2 回答 2

5

您可以覆盖AttachViewOnViewLoaded在您的视图模型(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
}
于 2011-03-07T10:07:02.200 回答
1

您也可以从视图模型中调用 GetView()。然后搜索控件或按名称访问它。

于 2011-05-18T19:28:21.137 回答