2012-03-29 11 views
6

Ich möchte die Zeichenfolge an Text-Eigenschaft in ApplicationBarIconButton in WP7 binden. Während ich dies tat, habe ich einen Fehler alsBinding Text-Eigenschaft mit ApplicationBarIconButton in WP7

Set Eigenschaft 'Microsoft.Phone.Shell.ApplicationBarIconButton.Text' warf eine Ausnahme.

Stacktrace:

bei System.Reflection.RuntimeMethodInfo.InternalInvoke (Objekt OBJ, Binding invokeAttr, Binder Bindemittel, Object [] Parameter, Culture Kultur, StackCrawlMark & stackMark) bei System.Reflection .RuntimePropertyInfo.InternalSetValue (Property thisProperty, Objekt OBJ, Objektwert, Object [] indizieren, StackCrawlMark & stackMark) bei System.Reflection.RuntimePropertyInfo.SetValue (Objekt obj, Object Wert, Object [] index) bei MS.Internal.XamlMemberInfo.SetValue (Zielobjekt, Objekt-Wert) bei MS.Internal.XamlManagedRuntimeRPInvokes.SetValue (XamlTypeToken Intype, XamlQualifiedObject & inObj, XamlPropertyToken inProperty, XamlQualifiedObject & inValue) bei MS.Internal.XcpImports.Application_LoadComponentNative (IntPtr pContext, IntPtr pComponent, UInt32 cUriStringLength, String uriString, UInt32 cXamlStrLength, Byte * pXamlStr, UInt32 cAssemblyStrLength, String assemblyStr) bei MS.Internal.XcpImports.Application_LoadComponent (IManagedPeerBase componentAsDO , String resourceLocator, UnmanagedMemoryStrea m Strom, UInt32 numBytesToRead, String assembly) bei System.Windows.Application.LoadComponent (Object Komponente, Uri resourceLocator) bei Syncfusion.Phone.Tools.Controls.TimeSpanPickerPage.InitializeComponent() bei Syncfusion.Phone.Tools.Controls .TimeSpanPickerPage..ctor() bei System.Reflection.RuntimeConstructorInfo.InternalInvoke (RuntimeConstructorInfo RTCI, Binding invokeAttr, Binder Bindemittel, Objektparameter, Culture Kultur, Boolean isBinderDefault, Assembly Anrufer, Boolean VerifyAccess, StackCrawlMark & stackMark) an System.Reflection.RuntimeConstructorInfo.InternalInvoke (Object Objekt, BindingFlags InvokeAttr, B inder Bindemittel, Object [] Parameter, Culture Kultur, StackCrawlMark & stackMark) bei System.Activator.InternalCreateInstance (Typ Typ, Boolean NonPublic, StackCrawlMark & stackMark) bei System.Activator.CreateInstance (Typ Typ) bei System.Windows .Navigation.PageResourceContentLoader.BeginLoad_OnUIThread (AsyncCallback userCallback, PageResourceContentLoaderAsyncResult-Ergebnis) bei System.Windows.Navigation.PageResourceContentLoader. <> c_ DisplayClass4.b _0 (Object args) bei System.Reflection.RuntimeMethodInfo.InternalInvoke (RuntimeMethodInfo RTMI, Objekt obj, Binding invokeAttr, Binder binder, Object Parameter, Culture Kultur, Boolean isBinderDefault, Assembly Anrufer , Boolean verifyAccess, StackCrawlMark & stackMark) bei System.Reflection.RuntimeMethodInfo.InternalInvoke (Objekt OBJ, Binding invokeAttr, Binder Bindemittel, Object [] Parameter, Culture Kultur, StackCrawlMark & stackMark) bei System.Reflection.MethodBase.Invoke (Objekt OBJ, Object [] Parameter) bei System.Delegate.DynamicInvokeOne (Object [] args) bei System.MulticastDelegate.DynamicInvokeImpl (Object [] args) bei System.Delegate.DynamicInvoke (Object [] args) bei System.Windows.Threading.DispatcherOperation.Invoke() bei System.Windows .Threading.Dispatcher.Dispatch (DispatcherPriority Priorität) bei System.Windows.Threading.Dispatcher.OnInvoke (Objektkontext) bei System.Windows.Hosting. CallbackCookie.Invoke (Object [] args) bei System.Windows.Hosting.DelegateWrapper.InternalInvoke (Object [] args) bei System.Windows.RuntimeHost.ManagedHost.InvokeDelegate (IntPtr pHandle, Int32 nParamCount, ScriptParam [] pParams, ScriptParam & pResult)

Lösung: Die ApplicationBar ist ein besonderes Element, das nicht in Silverlight implementiert und kann nicht mit Datenbindung verwendet werden. Sie müssen die Text-Eigenschaft in C# direkt aktualisieren. Peter Torr erklärt es hier: Peter Torr's Blog>Why are the ApplicationBar objects not FrameworkElements?

Antwort

7

Es scheint mir, Sie kennen bereits die Antwort, sowieso verbindliche Daten die ApplicationBar ist nicht möglich, können Sie die Anwendungsleiste zur Laufzeit obwohl, können Sie tun können etwas von dort. ApplicationBarIconButton At Runtime

+1

Nicht so, habe ich Frage hier gestellt, und fuhr fort, diese Zeit gefundene Antwort zu finden, so hier gepostet. Vielen Dank. – Ponmalar

+0

Froh Sie haben :). sollten Sie jedoch die Erstellung der Laufzeit berücksichtigen. –

+1

Ja, ich habe, was ich erwartet habe. Vielen Dank. – Ponmalar