1

WPF アプリケーション内でカスタム MarkupExtension に取り組んでいます。私が見た文書化されたすべての例では、XAML の文字列パラメーターを使用して新しいオブジェクトを構築しています。非文字列パラメーターを使用することは可能ですか?

言い換えれば、どうすればこのようなことができますか?

[MarkupExtensionReturnType(typeof(Uri))]
public class RefPackUriExtension : MarkupExtension
{
    object _assembly = null;

    public RefPackUriExtension() { }

    public RefPackUriExtension(object assembly)
    {
        this._assembly = assembly;
    }

    public override object ProvideValue(IServiceProvider serviceProvider)
    {
        //return an object by using the "_assembly" member somehow
    }
}
4

1 に答える 1

0

へのパラメーターはすべてMarkupExtension、CLR オブジェクトのプロパティと同じ解析動作の対象となります。を使用して、ターゲット タイプに変換される をTypeConverterユーザーが提供できるようにするか、別の を使用できます。stringMarkupExtension

前者の例として、ColorConverterクラスを参照してください。後者の例として、RelativeSourceクラス ( 内で使用されるBinding MarkupExtension) を参照してください。

于 2008-12-16T21:26:20.043 に答える