我正在使用自定义Activity并重写OnMouseDoubleClick方法。一切都很好,但双击Activity后就是自己在设计师中展示了。这意味着在设计器中没有显示整个工作流程而只显示此活动。如何在自定义设计器中禁用自行打开活动。 这是我在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();
}
答案 0 :(得分: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());
}
}