Hey!
Kann eine bestimmte Klasse (mit Brush) nichts als Objekt in den IsolatedStorage abspeichern. Der mir nicht viel sagende Fehlertext lautet:
Zitat: |
Der Typ "System.Windows.Media.Transform" kann nicht serialisiert werden. Kennzeichnen Sie ihn ggf. mit dem Attribut "DataContractAttribute", und kennzeichnen Sie alle zu serialisierenden Member des Typs mit dem Attribut "DataMemberAttribute". Alternativ können Sie sicherstellen, dass der Typ öffentlich ist und über einen parameterlosen Konstruktor verfügt - in diesem Fall werden alle öffentlichen Member des Typs serialisiert, und es sind keine Attribute erforderlich. |
Beispielcode zwecks Reproduktion...
XAML
XML-Daten
1: 2: 3: 4:
| <Grid x:Name="LayoutRoot" Background="White"> <Rectangle Width="50" Height="50" Stroke="Black" Fill="{Binding Path=myColor}"></Rectangle> <TextBlock Text="{Binding myText}" ></TextBlock> </Grid> |
CODEBEHIND
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| public partial class MainPage : UserControl { public ObservableCollection<myClass> myColl; public MainPage() { InitializeComponent(); Application.Current.Exit += new EventHandler(Current_Exit); myColl = new ObservableCollection<myClass>();
if (IsolatedStorageSettings.ApplicationSettings.Contains("mySettings")) { myColl = (ObservableCollection<myClass>)IsolatedStorageSettings.ApplicationSettings["mySettings"]; } else { myColl.Add(new myClass { myText = "alpha", myColor = new SolidColorBrush(Colors.Orange) }); } this.DataContext = myColl[0]; }
void Current_Exit(object sender, EventArgs e) { IsolatedStorageSettings.ApplicationSettings["mySettings"] = myColl; try { IsolatedStorageSettings.ApplicationSettings.Save(); } catch (Exception ex) { MessageBox.Show("Fehler beim Speichern des Objektes! --> " + ex.Message); } } }
public class myClass { public string myText { get; set; } public SolidColorBrush myColor { get; set; } } |
Jemand eine Idee oder besser noch Lösung???
Danke im Voraus...