123 lines
4.1 KiB
C#
123 lines
4.1 KiB
C#
|
namespace System.Workflow.ComponentModel
|
||
|
{
|
||
|
using System;
|
||
|
using System.ComponentModel;
|
||
|
using System.ComponentModel.Design;
|
||
|
using System.CodeDom;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Collections.ObjectModel;
|
||
|
using System.ComponentModel.Design.Serialization;
|
||
|
using System.Workflow.ComponentModel.Design;
|
||
|
using System.Workflow.ComponentModel.Compiler;
|
||
|
using System.Workflow.ComponentModel.Serialization;
|
||
|
|
||
|
[Browsable(true)]
|
||
|
[DesignerSerializer(typeof(DependencyObjectCodeDomSerializer), typeof(CodeDomSerializer))]
|
||
|
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
|
||
|
public sealed class WorkflowParameterBinding : DependencyObject
|
||
|
{
|
||
|
public static readonly DependencyProperty ParameterNameProperty = DependencyProperty.Register("ParameterName", typeof(string), typeof(WorkflowParameterBinding), new PropertyMetadata(DependencyPropertyOptions.Metadata));
|
||
|
public static readonly DependencyProperty ValueProperty = DependencyProperty.Register("Value", typeof(object), typeof(WorkflowParameterBinding));
|
||
|
|
||
|
public WorkflowParameterBinding()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public WorkflowParameterBinding(string parameterName)
|
||
|
{
|
||
|
SetValue(ParameterNameProperty, parameterName);
|
||
|
}
|
||
|
|
||
|
[DefaultValue(null)]
|
||
|
public object Value
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return GetValue(ValueProperty);
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
SetValue(ValueProperty, value);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public string ParameterName
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return (string)GetValue(ParameterNameProperty);
|
||
|
}
|
||
|
set
|
||
|
{
|
||
|
SetValue(ParameterNameProperty, value);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[Serializable]
|
||
|
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
|
||
|
public sealed class WorkflowParameterBindingCollection : KeyedCollection<string, WorkflowParameterBinding>
|
||
|
{
|
||
|
private Activity ownerActivity = null;
|
||
|
|
||
|
public WorkflowParameterBindingCollection(Activity ownerActivity)
|
||
|
{
|
||
|
if (ownerActivity == null)
|
||
|
throw new ArgumentNullException("ownerActivity");
|
||
|
|
||
|
this.ownerActivity = ownerActivity;
|
||
|
}
|
||
|
|
||
|
public WorkflowParameterBinding GetItem(string key)
|
||
|
{
|
||
|
return this[key];
|
||
|
}
|
||
|
|
||
|
protected override string GetKeyForItem(WorkflowParameterBinding item)
|
||
|
{
|
||
|
return item.ParameterName;
|
||
|
}
|
||
|
protected override void ClearItems()
|
||
|
{
|
||
|
if (!this.ownerActivity.DesignMode)
|
||
|
throw new InvalidOperationException(SR.GetString(SR.Error_CanNotChangeAtRuntime));
|
||
|
|
||
|
base.ClearItems();
|
||
|
}
|
||
|
protected override void InsertItem(int index, WorkflowParameterBinding item)
|
||
|
{
|
||
|
if (item == null)
|
||
|
throw new ArgumentNullException("item");
|
||
|
|
||
|
if (!this.ownerActivity.DesignMode)
|
||
|
throw new InvalidOperationException(SR.GetString(SR.Error_CanNotChangeAtRuntime));
|
||
|
|
||
|
if (Contains(item.ParameterName))
|
||
|
{
|
||
|
WorkflowParameterBinding oldItem = this[item.ParameterName];
|
||
|
index = this.IndexOf(oldItem);
|
||
|
RemoveItem(index);
|
||
|
}
|
||
|
|
||
|
base.InsertItem(index, item);
|
||
|
}
|
||
|
protected override void RemoveItem(int index)
|
||
|
{
|
||
|
if (!this.ownerActivity.DesignMode)
|
||
|
throw new InvalidOperationException(SR.GetString(SR.Error_CanNotChangeAtRuntime));
|
||
|
|
||
|
base.RemoveItem(index);
|
||
|
}
|
||
|
protected override void SetItem(int index, WorkflowParameterBinding item)
|
||
|
{
|
||
|
if (item == null)
|
||
|
throw new ArgumentNullException("item");
|
||
|
|
||
|
if (!this.ownerActivity.DesignMode)
|
||
|
throw new InvalidOperationException(SR.GetString(SR.Error_CanNotChangeAtRuntime));
|
||
|
|
||
|
base.SetItem(index, item);
|
||
|
}
|
||
|
}
|
||
|
}
|