silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Silverlight中,使用XAML剪贴画的正确方法是什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

假设我在XAML中为我的Silverlight应用程序构建了一些剪贴画,或者从 http://www.xamalot.com下载它,在我的应用程序中使用它的最佳方法是什么? 是否最好为每件艺术品@R_893_10589@控件?或者有更好的方法可以从资源字典中引用它吗? 更新: 提供的答案非常详细,似乎暗示使用它的目的远远超出我的想象.我真的只是想知道消费XAML剪贴画的最佳方式,用作(比如)工具栏上的按钮. 有一个
假设我在XAML中为我的Silverlight应用程序构建了一些剪贴画,或者从 http://www.xamalot.com下载它,在我的应用程序中使用它的最佳方法是什么?

是否最好为每件艺术品创建用户控件?或者有更好的方法可以从资源字典中引用它吗?

更新:

提供的答案非常详细,似乎暗示使用它的目的远远超出我的想象.我真的只是想知道消费XAML剪贴画的最佳方式,用作(比如)工具栏上的按钮.

解决方法

一个更好的办法.

你可以为剪贴画的每个片段创建一个单独的文件,但不是网站使用的包装器,直接在资源字典中的Canvas实例,而不是他最好的前进方式.
我们将从resourceDictionary开始,但看起来像这样: –

<resourceDictionary xmlns="http://scheR_990_11845@as.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://scheR_990_11845@as.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:YourApplication">
    <ControlTemplate TargetType="local:XamlImage" x:Key="SomeImage">
        <ViewBox>
            <Canvas> <!-- this the toplevel canvas from the site or your design -->
            </Canvas>
        </ViewBox>
    </ControlTemplate>
</resourceDictionary>

这样做有两件事,首先它使用COntrolTemplate来包含图像,当图像可以被多次使用时,例如当图像被用作图标时,这是一种更有效的存储形式.

其次,它使用了ViewBox,它提供了基于矢量的图形的承诺,它允许将图像缩放到指定的大小.

您需要向项目添加一个新的模板化自定义控件并将其命名为XamlImage.你不需要做任何事情,它只需要存在.

暂时让我们将这个资源字典添加到App.Xaml(这不太可能保留在哪里).

        
            
                
            
         
    

现在,您可以使用以下方法将此图像放在@L_673_17@中: –

<local:XamlImage Template="{Staticresource contactnew}"  />

现在有几种方法可以取决于你的真实意图和数量,我可以根据情况进行详尽的评论.所以采取两个极端……

如果您只想要从中选择一些图像,则可以创建更多文件并将其添加到app.xaml的MergedDictionaries中.然而,最大的缺点是所有这些图像Xamls在应用程序启动时被解析和加载,这可能是不可取的.

另一方面,你可能有一个大型的分类Xaml剪贴画库.在这种情况下,您需要将它们放在文件夹结构中,并为每个文件夹包含一个标准大小的缩略图png.一个Xml文件,用作目录,然后根据需要按需加载Xaml文件.在这种情况下,您可以从文件删除resourceDictionary并将ControlTemplate作为根元素,使用XamlReader加载模板,然后将模板缓存在您自己的字典中(可能作为目录实现的一部分).

大佬总结

以上是大佬教程为你收集整理的在Silverlight中,使用XAML剪贴画的正确方法是什么?全部内容,希望文章能够帮你解决在Silverlight中,使用XAML剪贴画的正确方法是什么?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。