我正在尝试使用序列化保存一个Brush对象,但是在下面出现错误:


  程序集'PresentationCore,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'中的类型'System.Windows.Media.LinearGradientBrush'未标记为可序列化


如何将Brush对象保存到文件中?

最佳答案

尝试这个...

var brush = new LinearGradientBrush(new GradientStopCollection(
    new GradientStop[] { new GradientStop(Colors.Blue, 2.0), new GradientStop(Colors.Red, 3.0) }));

using (var outfile = File.CreateText("Brush.xaml"))
{
    XamlWriter.Save(brush, outfile);
}


产生以下内容:

<LinearGradientBrush xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <LinearGradientBrush.GradientStops>
        <GradientStop Color="#FF0000FF" Offset="2" />
        <GradientStop Color="#FFFF0000" Offset="3" />
    </LinearGradientBrush.GradientStops>
</LinearGradientBrush>

关于c# - 序列化GradientBrush,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20203077/

10-12 06:25