我使用的是win表单控件库,我没有源代码。
我的应用程序是c#WPF / XAML等。所以,我正在为WinForms控件编写包装器。除了一些小的不方便的问题,这一切都很顺利。直到...
我有两个Winforms表单控件
public class WFC_A
{
}
public class WFC_B
{
public WFC_A WFC_A_Property { get; set; }
}
和两个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内容抽象出来,以便以后可以用其他库替换。
是否有正确的方法来实现我想要做的事情?
感谢。
答案 0 :(得分:0)
我能想到的最好的事情是将财产置于内部。如果您的包装器位于应用程序使用的库中,那么它们就不会有任何线索。如果包装器与您的应用程序位于同一个程序集中,那可能不是那么干净。