在Silverlight中从字符串转换为数据?

twe*_*ypi 3 c# silverlight code-behind typedescriptor

基本上我正在尝试这样做:

Path path = new Path( ); 

string sData = "M 250,40 L200,20 L200,60 Z";

var converter = TypeDescriptor.GetConverter( typeof( Geometry ) );
path.Data = ( Geometry )converter.ConvertFrom( sData );
Run Code Online (Sandbox Code Playgroud)

但它不会编译,Silverlight似乎没有TypeDescriptor类...

Ant*_*nes 6

试试这个:-

  Path path = XamlReader.Load("<Path Data=\"M 250,40 L200,20 L200,60\" />") as Path;
Run Code Online (Sandbox Code Playgroud)

编辑

本来应该:

  public static GeneratePath(string data)
  {
      string pathEnvelope = "<Path xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" Data=\"{0}\"/>")
      return XamlReader.Load(String.Format(pathEnvelope, data)) as Path;
  }
Run Code Online (Sandbox Code Playgroud)

用法:-

  string data = "M 250,40 L200,20 L200,60";

  Path path = GeneratePath(data);
Run Code Online (Sandbox Code Playgroud)

请参阅后续问题:尝试从代码隐藏加载xaml时xaml解析异常