如何将数据传递给Caliburn.Micro中的viewmodel

时间:2011-08-10 20:16:42

标签: caliburn.micro

这可能是一个非常简单的问题,但此时我自己也很困惑,我看不出答案。简而言之,我有一个包含内容控件的窗口。我正在使用Caliburn.Micro的惯例来“定位”视图。

窗口如下所示:

<Window x:Class="Views.MainWindowView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TextBox/>
        <ContentControl x:Name="MyViewModel" Height="Auto" Background="Blue"/>
    </Grid>
</Window>

视图本身已成功找到,屏幕显示如我所料。但是,MyViewModel需要进行服务调用以根据文本框中输入的内容获取信息。

所以,我似乎无法弄清楚是如何将这些信息从文本框传递给视图模型。我想到了几个选项,但它们似乎都是太多的工作,这让我觉得我错过了一些简单的东西。

非常感谢

1 个答案:

答案 0 :(得分:2)

就像你说的那样,你可以做很多事情:

  1. 您可以在MyViewModel上公开属性并将其设置在其中 MainWindowView

  2. 您可以使用EventAgregator,从中发布活动     MainWindowView并从MyViewModel订阅该活动。

  3. 使用MEF可以在两者之间注入共享资源 ViewModels,在MainWindowViewModel中设置,并能够访问它 来自MyViewModel