繁体   English   中英

编写 WPF WinForms 控件包装器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM