Wednesday, 11 September 2013

When I use Camera On CustomMessageBox with UserControl crashes after taked photo on WP8?

When I use Camera On CustomMessageBox with UserControl crashes after taked
photo on WP8?

I cant understand what should I Seriliaze? photoChooserTask.Completed +=
new EventHandler<PhotoResult>(photoChooserTask_Completed); not worked,
Crashes.
Error Message :
{System.Runtime.Serialization.InvalidDataContractException: Type
'System.Windows.Media.ImageSource' cannot be serialized. Consider marking
it with the DataContractAttribute attribute, and marking all of its
members you want serialized with the DataMemberAttribute attribute.
Alternatively, you can ensure that the type is public and has a
parameterless constructor - all public members of the type will then be
serialized, and no attributes will be required.
at
System.Runtime.Serialization.DataContract.DataContractCriticalHelper.ThrowInvalidDataContractException(String
message, Type type)
at
System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.DataContract.GetDataContractSkipValidation(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.DataContract.GetDataContract(RuntimeTypeHandle
typeHandle, Type type, SerializationMode mode)
at
System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper..ctor(Type
type)
at System.Runtime.Serialization.ClassDataContract..ctor(Type type)
at
System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.DataContract.GetDataContractSkipValidation(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.DataContract.GetDataContract(RuntimeTypeHandle
typeHandle, Type type, SerializationMode mode)
at
System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper..ctor(Type
type)
at System.Runtime.Serialization.ClassDataContract..ctor(Type type)
at
System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.DataContract.GetDataContractSkipValidation(Int32
id, RuntimeTypeHandle typeHandle, Type type)
at
System.Runtime.Serialization.XmlObjectSerializerContext.GetDataContract(Int32
id, RuntimeTypeHandle typeHandle)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator
xmlReader, Int32 id, RuntimeTypeHandle declaredTypeHandle, String name,
String ns)
at ReadReceiverVMFromXml(XmlReaderDelegator ,
XmlObjectSerializerReadContext , XmlDictionaryString[] ,
XmlDictionaryString[] )
at
System.Runtime.Serialization.ClassDataContract.ReadXmlValue(XmlReaderDelegator
xmlReader, XmlObjectSerializerReadContext context)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract
dataContract, XmlReaderDelegator reader)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator
reader, String name, String ns, DataContract& dataContract)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator
xmlReader, Int32 id, RuntimeTypeHandle declaredTypeHandle, String name,
String ns)
at ReadTransactionVMFromXml(XmlReaderDelegator ,
XmlObjectSerializerReadContext , XmlDictionaryString[] ,
XmlDictionaryString[] )
at
System.Runtime.Serialization.ClassDataContract.ReadXmlValue(XmlReaderDelegator
xmlReader, XmlObjectSerializerReadContext context)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract
dataContract, XmlReaderDelegator reader)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator
reader, String name, String ns, DataContract& dataContract)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator
xmlReader, Int32 id, RuntimeTypeHandle declaredTypeHandle, String name,
String ns)
at ReadKeyValueOfstringanyTypeFromXml(XmlReaderDelegator ,
XmlObjectSerializerReadContext , XmlDictionaryString[] ,
XmlDictionaryString[] )
at
System.Runtime.Serialization.ClassDataContract.ReadXmlValue(XmlReaderDelegator
xmlReader, XmlObjectSerializerReadContext context)
at ReadArrayOfKeyValueOfstringanyTypeFromXml(XmlReaderDelegator ,
XmlObjectSerializerReadContext , XmlDictionaryString ,
XmlDictionaryString , CollectionDataContract )
at
System.Runtime.Serialization.CollectionDataContract.ReadXmlValue(XmlReaderDelegator
xmlReader, XmlObjectSerializerReadContext context)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract
dataContract, XmlReaderDelegator reader)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator
reader, String name, String ns, DataContract& dataContract)
at
System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator
xmlReader, Type declaredType, DataContract dataContract, String name,
String ns)
at
System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator
xmlReader, Boolean verifyObjectName, DataContractResolver
dataContractResolver)
at
System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator
reader, Boolean verifyObjectName, DataContractResolver
dataContractResolver)
at
System.Runtime.Serialization.XmlObjectSerializer.ReadObject(XmlDictionaryReader
reader)
at System.Runtime.Serialization.XmlObjectSerializer.ReadObject(Stream
stream)
at Microsoft.Phone.Shell.BaseStreamPersister.Deserialize(Byte[] blob,
IEnumerable`1 knownTypes, IDictionary`2& dictionary)
at Microsoft.Phone.Shell.PhoneApplicationService.LoadState()
at Microsoft.Phone.Shell.PhoneApplicationService.FireActivated(Boolean
isExecutionContextPreserved)
at Microsoft.Phone.TaskModel.Interop.ITask.Resume.Invoke(Boolean
isExecutionContextPreserved)
at Microsoft.Phone.TaskModel.Interop.Task.FireOnResume(Boolean
isExecutionContextPreserved)}
this is code where create and show messagebox
private void ApplicationBarAddButton_Click(object sender, EventArgs e)
{
CustomMessageBox mBox = new CustomMessageBox();
mBox.Message = "Kayýt";
mBox.Content = new SaveAliasPopup(myVm.Transaction.Receiver);
mBox.Show();
}
And my userControl
public partial class SaveAliasPopup : UserControl
{
private ViewModels.ReceiverVM receiverVM;
//private CustomerModel customer;
//private BitmapImage image;
//public string bindedTextToPhoneNumberLabel { get; private set; }
//public BitmapImage bindedImageToImageField { get; private set; }
//public SaveAliasPopup(CustomerModel customer)
//{
// InitializeComponent();
// this.customer = customer;
// bindedTextToPhoneNumberLabel = this.customer.PhoneNumber;
// bindedImageToImageField = this.customer.image;
//}
public SaveAliasPopup(ING_Wallet.ViewModels.ReceiverVM receiverVM)
{
InitializeComponent();
DataContext =this.receiverVM= receiverVM;
if(receiverVM.Image==null)
aliasImage.Source = new BitmapImage(new
Uri("/Assets/Logo/icon.jpg", UriKind.Relative));
}
private void okButton_Click(object sender, RoutedEventArgs e)
{
// page.NavigationService.Navigate(new
Uri("/Views/SendMoney_Approval.xaml", UriKind.Relative));
}
private void cancelButton_Click(object sender, RoutedEventArgs e)
{
// m_Popup.IsOpen = false;
}
private void aliasImage_Tap(object sender,
System.Windows.Input.GestureEventArgs e)
{
// page.NavigationService.Navigate(new
Uri("/Views/SendMoney_Approval.xaml", UriKind.Relative));
CameraManager.Start();
}}

No comments:

Post a Comment