[英]Writing a WPF WinForms Control wrapper
我正在使用我没有源代码的 win forms 控件库。
我的应用程序是 c# WPF/XAML 等。所以,我正在为 WinForms 控件编写包装器。 除了一些不方便的小问题外,这一切都很顺利。 直到...
我有两个 Winforms Forms 控件
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++ 朋友 class 来说,这似乎是一个非常好的案例,但这在 c# 中不可用。 2)这些都是相当大的包装类,我真的不想嵌套它们。 3)我可以公开内部 wfc 属性,但我试图将所有 Winforms 的东西抽象出来,以便以后可以用另一个库替换它。
对实现我想要做的事情的正确方法有什么建议吗?
谢谢。
我能想到的最好的事情是使属性内部化。 如果您的包装器位于应用程序使用的库中,则它们不会知道您是否这样做。 如果包装器与您的应用程序位于同一程序集中,则可能不是那么干净。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.