wpf - 如何在 XAML/WPF 中存储和检索多个形状?

标签 wpf vb.net xaml resources shapes

似乎在使用 XAML/WPF 做应该简单的事情时遇到了很多问题 - 我已经使用矩形和椭圆等形状创建了一些基于 XAML 的图像来创建我需要应用程序的其他部分使用的图标 -但我似乎无法找到如何做到这一点 - 我似乎能够将 Canvas 存储在资源字典中,但无法在任何其他窗口中使用它。这是如何完成的 - 这些是简单的图像,只是我想在整个项目中使用的两个或三个形状!
图像还必须可调整大小 - 我知道如何存储路径,但是这些形状包含我想要保留的渐变样式,而且我不知道矩形如何转换为路径和颜色数据。

谢谢!

最佳答案

您应该使用绘图并使用 KP Adrian 建议的 DrawingBrush 或 DrawingImage 和 Image 控件来显示它,但如果您不能使用绘图,则可以在 VisualBrush 中使用 Canvas。

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Page.Resources>
    <VisualBrush x:Key="Icon">
        <VisualBrush.Visual>
            <Canvas Width="10" Height="10">
                <Ellipse Width="5" Height="5" Fill="Red"/>
                <Ellipse Width="5" Height="5" Fill="Blue" Canvas.Left="5" Canvas.Top="5"/>
            </Canvas>
        </VisualBrush.Visual>
    </VisualBrush>
</Page.Resources>
    <Rectangle Width="100" Height="100" Fill="{StaticResource Icon}"/>
</Page>

关于wpf - 如何在 XAML/WPF 中存储和检索多个形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/503873/

相关文章:

c# - 在组合框中设置项目的焦点

c# - 如何使用azure sql进行多接口(interface)框架

asp.net - 在 WebPart 编辑器区域中添加自定义属性

vb.net - VB.NET 中的日期时间问题

wpf - 有没有办法在 Storyboard中使用 setter 而不是动画?

wpf - 使图像的一部分透明

wpf - FrameworkElement.Loaded 事件如何与虚拟化配合使用?

WPF C# 如何在代码中创建 THIS 绑定(bind)?

c# - 我如何让一个类存储在一个二维数组 "aware"中它们的位置呢?

c# - 如何使用 Xamarin Form 以编程方式在现有网格上添加按钮或标签?