在代码背后使用Caliburn事件创建对象

时间:2016-08-08 15:37:43

标签: c# wpf xaml mvvm caliburn

目前我在应用程序的XAML端创建了我的对象。但我希望以编程方式创建对象,以使软件更具可定制性和灵活性。

XAML方

<Grid cal:Message.Attach="[MouseUp] = [AddBusiness]">
    <Rectangle Fill="DarkOliveGreen"/>
    <ContentControl ContentTemplate="{StaticResource Icons.BusinessCard}" Width="70"/>
    <TextBlock Text="{Binding NewBusiness}" FontSize="14"/>
</Grid>

我目前遇到的问题是将Caliburn事件从代码隐藏到我的Grid。我该怎么做?

1 个答案:

答案 0 :(得分:2)

鉴于您的代码应该看起来像

<Grid x:Name="MyGrid" cal:Message.Attach="[MouseUp] = [AddBusiness]">
    <Rectangle Fill="DarkOliveGreen"/>
    <ContentControl ContentTemplate="{StaticResource Icons.BusinessCard}" Width="70"/>
    <TextBlock Text="{Binding NewBusiness}" FontSize="14"/>
</Grid>

以下是Attach

的代码表示
var grid = MyGrid; // assuming this is code behind of above view
Message.SetAttach(grid, "[MouseUp] = [AddBusiness]");