1

OldSystem.ComponentModelDefaultValueAttribute、プロパティに適用されると、Windowsフォームデザイナなどのツールでデフォルト値を持つものとしてマークすることを提供します。

WPF / Workflow Foundationの世界に同等の属性はありますか?以下は期待どおりに機能しませんでした。

[DefaultValue('|')] // From System.ComponentModel
public InArgument<char> ColumnSeparator { get; set; }

WPFデザイナは、この属性宣言を無視します。

4

1 に答える 1

1

同等の方法はIActivityTemplateFactoryを実装し、Createメソッド内ですべてのデフォルトを設定することです。

大騒ぎを抑えるために、アクティビティにこれを実装させることができます。

public sealed class MyActivity : NativeActvity, IActivityTemplateFactory
{
    public Activity Create(DependencyObject target) { /*...*/ }
    // snip

この方法で構成/初期化を行うと、アクティビティを初期化しようとするときに発生する可能性のある奇妙なコーナー ケースをすべて回避するのに役立ちます。それにキャストを実行してtarget、デザイン サーフェイス内のワークフローの状態から必要なものをすべて取得することもできます (たとえば、プロパティへの自動バインディングなど)。

IActivityTemplateFactory は非常に強力です。単一のアクティビティを追加するだけに限定されません。地獄、いわばワークフローの完全に構築されたサブアセンブリにドロップすることができます。その良いもの。

于 2012-07-25T18:01:44.697 に答える