Если я понимаю, если ваша модель представления наследуется от Screen, вы можете вызвать GetView, привести его к типу вашего представления и получить доступ к элементу управления в представлении.
var myView = GetView() as OrderView;
myView.SlimDX ...
В качестве альтернативы, если вы не хотите ссылаться на свой взгляд из виртуальной машины, возможно, вы сможете сделать то, что вам нужно, в сопрограмме.
"Это довольно простой для реализации интерфейс. Просто напишите свой код в методе" Execute "и обязательно вызовите событие" Completed ", когда вы закончите, будь то синхронная или асинхронная задача. Поскольку возникают сопрограммы внутри Action мы предоставляем вам ActionExecutionContext, полезный при создании реализаций IResult, связанных с пользовательским интерфейсом, что позволяет ViewModel декларативно заявлять о своих намерениях при управлении представлением, не имея никакой ссылки на View или необходимости в модуле на основе взаимодействия. тестирование. Вот как выглядит ActionResultContext: "
public class ActionExecutionContext
{
public ActionMessage Message;
public FrameworkElement Source;
public object EventArgs;
public object Target;
public DependencyObject View;
public MethodInfo Method;
public Func<bool> CanExecute;
public object this[string key];
}
http://caliburnmicro.codeplex.com/wikipage?title=IResult%20and%20Coroutines&referringTitle=Documentation