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

Creating Objects With Caliburn Events Behind Code

目前我在应用程序的 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 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]");