2012-03-29 8 views
6

Quiero vincular la cadena a Text Property en ApplicationBarIconButton en WP7. Al hacer esto, recibí un error comoPropiedad de texto de enlace con ApplicationBarIconButton en WP7

Establezca la propiedad 'Microsoft.Phone.Shell.ApplicationBarIconButton.Text' lanzó una excepción.

StackTrace:

en System.Reflection.RuntimeMethodInfo.InternalInvoke (Object obj, BindingFlags invokeAttr, aglutinante Binder, Object [] parámetros, cultivo CultureInfo, StackCrawlMark & stackMark) en System.Reflection .RuntimePropertyInfo.InternalSetValue (PropertyInfo thisProperty, Object obj, Valor del objeto, Object [] index, StackCrawlMark & stackMark) en System.Reflection.RuntimePropertyInfo.SetValue (Object obj, Object valor, Object [] índice) en MS.Internal.XamlMemberInfo.SetValue (objetivo objeto, valor Object) en MS.Internal.XamlManagedRuntimeRPInvokes.SetValue (XamlTypeToken Intype, XamlQualifiedObject & inObj, XamlPropertyToken inProperty, XamlQualifiedObject & inValue) en MS.Internal.XcpImports.Application_LoadComponentNative (IntPtr pContext, IntPtr pComponent, UInt32 cUriStringLength, cadena uriString, UInt32 cXamlStrLength, Byte * pXamlStr, UInt32 cAssemblyStrLength, cadena assemblyStr) en MS.Internal.XcpImports.Application_LoadComponent (IManagedPeerBase componentAsDO , String resourceLocator, UnmanagedMemoryStrea m corriente, UInt32 numBytesToRead, Cadena assemblyString) en System.Windows.Application.LoadComponent (componente objeto, Uri resourceLocator) en Syncfusion.Phone.Tools.Controls.TimeSpanPickerPage.InitializeComponent() en Syncfusion.Phone.Tools.Controls .TimeSpanPickerPage..ctor() en System.Reflection.RuntimeConstructorInfo.InternalInvoke (RuntimeConstructorInfo RTCI, BindingFlags invokeAttr, cuaderno de Cuaderno, parámetros de objeto, cultura CultureInfo, Boolean isBinderDefault, la persona que llama Asamblea, Boolean verifyAccess, StackCrawlMark & stackMark) en System.Reflection.RuntimeConstructorInfo.InternalInvoke (Object obj, BindingFlags invokeAttr, B aglutinante inder, objeto parámetros [], cultivo CultureInfo, StackCrawlMark & stackMark) en System.Activator.InternalCreateInstance (tipo Type, Boolean no pública, StackCrawlMark & stackMark) en System.Activator.CreateInstance (tipo Type) en System.Windows .Navigation.PageResourceContentLoader.BeginLoad_OnUIThread (AsyncCallback userCallback, PageResourceContentLoaderAsyncResult result) en System.Windows.Navigation.PageResourceContentLoader. <> c_ DisplayClass4.b _0 (Objeto args) en System.Reflection.RuntimeMethodInfo.InternalInvoke (RuntimeMethodInfo RTMI, Object obj, BindingFlags invokeAttr, cuaderno de Cuaderno, de objetos parámetros, cultura CultureInfo, Boolean isBinderDefault, Asamblea persona que llama , Boolean verifyAccess, StackCrawlMark & stackMark) en System.Reflection.RuntimeMethodInfo.InternalInvoke (Object obj, aglutinante BindingFlags invokeAttr, Binder, Object parámetros [], cultivo CultureInfo, StackCrawlMark & stackMark) en System.Reflection.MethodBase.Invoke (Object obj, Object [] parámetros) en System.Delegate.DynamicInvokeOne (Object [] args) en System.MulticastDelegate.DynamicInvokeImpl (Object [] args) en System.Delegate.DynamicInvoke (Object [] args) en System.Windows.Threading.DispatcherOperation.Invoke() en System.Windows .Threading.Dispatcher.Dispatch (Prioridad DispatcherPriority ) en System.Windows.Threading.Dispatcher.OnInvoke (Object context) en System.Windows.Hosting. CallbackCookie.Invoke (Object [] args) en System.Windows.Hosting.DelegateWrapper.InternalInvoke (Object [] args) en System.Windows.RuntimeHost.ManagedHost.InvokeDelegate (IntPtr pHandle, Int32 nParamCount, ScriptParam [] pParams, ScriptParam & pResult)

Solución: El ApplicationBar es un elemento especial que no se implementa en Silverlight y no se puede utilizar con el enlace de datos. Tendrá que actualizar directamente la propiedad Text en C#. Peter Torr lo explica aquí: Blog de Peter Torr>Why are the ApplicationBar objects not FrameworkElements?

Respuesta

7

Me parece que ya sabes la respuesta, de todos modos, los datos vinculantes de la barra de aplicación no son posibles, puedes crear la barra de aplicaciones en tiempo de ejecución, podrías hacer algo de allí. ApplicationBarIconButton At Runtime

+1

No es así, hice una pregunta aquí, y seguí buscando esa hora, encontré la respuesta que se publicó aquí. Gracias. – Ponmalar

+0

Me alegro que lo hayas hecho :). , debería considerar la creación del tiempo de ejecución. –

+1

Sí, obtuve lo que esperaba. Gracias. – Ponmalar

Cuestiones relacionadas