我现在正在开发一个必须分离项目文件的项目。一个符合 Silverlight 3,另一个符合 Silverlight 4。该项目创建了一个在其他几个项目中使用的用户控件。不幸的是,其中一个处于 SL3 状态,现在无法升级,这就是为什么需要 SL3 版本的控件。
到目前为止,一切都很好,但最近我尝试向控件添加一个 ViewBox。这会导致问题,因为在 SL3 中它位于工具箱中,而在 SL4 中它位于核心中。
有什么办法可以让它从 SL3 项目中的工具包和 SL4 项目中的核心中提取出来吗?我查看了 xaml 中的预处理器定义并找到了一些信息,但我不喜欢它如何扼杀在设计器中加载代码的能力。
我最终要做的是在内部视图框元素周围创建边框。然后我去掉了xaml中的viewbox。当我加载控件时,我将包含边框的子项设置为 null,在代码中创建一个视图框,并将其子项设置为内部边框。然后我将包含边框的子项设置为视图框。
<Border Name="viewBoxContainer">
<Border x:Name="innerBorder">
<TextBlock x:Name="innerText" Text="Test" />
</Border>
</Border>
代码隐藏
this.viewBoxContainer.Child = null;
this.viewBoxContainer.Child = new Viewbox { Child = this.innerBorder};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)