我是Windows世界的新手,我想我在杂草中迷失了问题.我喜欢有C++/CLI和WPF以及XAML经验的人的一些建议.
我有一些win32代码,我需要运行WPF GUI.我找到了这个使用C++/CLI的MS演练示例.我根据自己的目的调整了它,效果很好.
接下来,我想要删除程序化的WPF内容并改用XAML.这样我就可以将XAML交给设计人员,让自己脱离UI设计循环,我绝对不属于他.在MSDN上阅读WPF和Win32 Interoperation的"WPF互操作项目"部分之后,我决定使用该XamlReader::Load选项并在运行时加载未编译的XAML.我的XAML标记是Canvas UIElement我以编程方式添加为我的根GridC++/CLI元素的子项.这非常有效.
现在我想在XAML中为控件添加事件处理程序.这是我开始遇到麻烦的地方.我确信我对Windows世界的普遍无知是在这里杀死我的95%.
我从Rob Relyea的页面开始,概述了各种XAML和事件处理程序选项.
我决定尝试将XAML编译为C#DLL.它与我在运行时Load Case中使用的XAML基本相同.我实例化对象并以编程方式添加为子项,就像之前一样.但是......我什么都没有,只有一个黑色的窗户.也没有异常被抛出.我很困惑.
我的问题是,我是否走上了正确的道路?XAML和事件处理程序上的页面说你可以使用.Net Framework 4中未编译的XAML中定义的事件处理程序.我应该咬紧牙关然后去VS 2010(我目前在VS 2008上)所以我可以使用.Net Framework 4并坚持使用未编译的XAML?这样做是否有任何陷阱?
或者,如果你认为编译的C#DLL是一个合理的路径,你对我如何调试我遇到的问题有任何想法吗?
或者,有更好的和完全不同的方法吗?
提前感谢您的建议.
波莉