0

カスタム アクティビティを使用し、OnMouseDoubleClick メソッドをオーバーライドしています。すべてが正常に機能しますが、アクティビティをダブルクリックすると、その自己がデザイナーに表示されます。これは、デザイナーではワークフロー全体ではなく、このアクティビティのみが表示されることを意味します。カスタム デザイナーでセルフ オープニング アクティビティを無効にする方法。これがActivityDesigner.xaml.csの私のコードです

    /// <summary>
    /// Raises the <see cref="E:System.Windows.Controls.Control.MouseDoubleClick"/> routed event.
    /// </summary>
    /// <param name="e">The event data.</param>
    protected override void OnMouseDoubleClick(MouseButtonEventArgs e)
    {
        e.Handled = true;
        this.OpenDialogOnDoubleClick();
    }
4

1 に答える 1

1

その動作を無効にするには、ActivityDesignerOptionsAttribute、特にそのAllowDrillInプロパティを使用する必要があります。

アクティビティ クラスで使用します。

[ActivityDesignerOptions(AllowDrillIn = false)]
public sealed class MyActivity : CodedActivity
{
    /* ... */
}


または、IRegisterMetadataを使用している場合:

internal class Metadata : IRegisterMetadata
{
    private AttributeTable attributes;

    // Called by the designer to register any design-time metadata.
    public void Register()
    {
        var builder = new AttributeTableBuilder();

        builder.AddCustomAttributes(
            typeof(MyActivity),
            new ActivityDesignerOptionsAttribute{ AllowDrillIn = false });

        MetadataStore.AddAttributeTable(builder.CreateTable());
    }
}
于 2012-11-02T23:11:17.250 に答える