MatrixTransform mt= new MatrixTransform();
mt.Matrix= matrix; // BUG, not properly serialized to the Silverlight native engine
The problem comes from the fact that a Matrix is converted to text using Matrix.ToString() in XcpImports.SetValue<T>(). If Regional Settings are set to "French", then the decimal (NumberDecimalSeparator) is a comma (",") not a dot (".").
Therefore, instead of passing the string "1.5,0,0,1.5,0,0" (6 numbers) to the Silverlight engine, the framework is passing "1,5,0,0,1,5,0,0" (8 numbers, invalid matrix):
// text = "1,5,0,0,1,5,0,0" instead of "1.5,0,0,1.5,0,0"
string text= matrix.ToString();
BTW, could someone tell me a workaround : how to I change the current culture in runtime with Silverlight .NET ?
bobrob
Member
28 Points
19 Posts
SetValue() bug
May 22, 2007 02:16 PM | LINK
Bug in MatrixTransform.Matrix.set property:
The problem comes from the fact that a Matrix is converted to text using Matrix.ToString() in XcpImports.SetValue<T>(). If Regional Settings are set to "French", then the decimal (NumberDecimalSeparator) is a comma (",") not a dot (".").
Therefore, instead of passing the string "1.5,0,0,1.5,0,0" (6 numbers) to the Silverlight engine, the framework is passing "1,5,0,0,1,5,0,0" (8 numbers, invalid matrix):
BTW, could someone tell me a workaround : how to I change the current culture in runtime with Silverlight .NET ?
Thanks