0

ソースコードがないwinformsコントロールライブラリを使用しています。

私のアプリはc#WPF / XAMLなどです。そこで、WinFormsコントロールのラッパーを作成しています。いくつかの小さな不便な問題を除いて、これはすべて非常にうまくいっています。それまで...

2つのWinformsフォームコントロールがあります

public class WFC_A
{
}

public class WFC_B
{
    public WFC_A WFC_A_Property { get; set; }
}

および2つのWPFコントロール

public class WPF_A
{
     private WFC_A wfca;
}

public class WPF_B
{
     private WFC_B wfcb;
     public static readonly DependencyProperty WPF_A_Property =
            DependencyProperty.Register("WPF_A_Property", typeof(WPF_A),
            typeof(WPF_B), new FrameworkPropertyMetadata(new PropertyChangedCallback(OnWPFAPropertyChanged)));

}

..。

問題は、依存関係プロパティが変更されたときに、WFC_Aへの参照を取得して名前を付けて保存したい場合です。

wfcb.WFC_A_Property = WPF_A.wfca

1)c ++フレンドクラスには本当に良いケースのようですが、これはc#では使用できません。2)これらは両方とも非常に大きなラッパークラスであり、私はそれらをネストしたくないのです。3)内部のwfcプロパティを公開することはできますが、後で別のライブラリに置き換えることができるように、すべてのWinformsのものを抽象化しようとしています。

私がやろうとしていることを達成するための正しい方法について何か提案はありますか?

ありがとう。

4

1 に答える 1

0

私が考えることができる最善のことは、プロパティを内部にすることです。ラッパーがアプリケーションで使用されるライブラリにある場合、それらはあなたがそれを行ったという手がかりはありません。ラッパーがアプリケーションと同じアセンブリにある場合、それはそれほどクリーンではない可能性があります。

于 2011-05-31T17:50:29.013 に答える