Связывание свойства Text с ApplicationBarIconButton в WP7

Я хочу привязать строку к свойству Text в ApplicationBarIconButton в WP7. При этом я получил сообщение об ошибке, поскольку

Установить свойство «Microsoft.Phone.Shell.ApplicationBarIconButton.Text» вызвало исключение.

StackTrace:

в System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, связыватель Binder, параметры Object[], КультураИнформация о культуре, StackCrawlMark и stackMark) в System.Reflection.RuntimePropertyInfo.Интерналсетвалуе (информация о свойствах thisProperty, объект obj, значение объекта, индекс объекта [], StackCrawlMark и stackMark) в System.Reflection.RuntimePropertyInfo.SetValue (объект объекта, значение объекта, индекс объекта []) в MS.Internal.XamlMemberInfo.SetValue (целевой объект, значение объекта) в MS.Internal.XamlManagedRuntimeRPInvokes.SetValue(XamlTypeToken inType, XamlQualifiedObject& inObj, XamlPropertyToken inProperty, XamlQualifiedObject& inValue) в MS.Internal.XcpImports.Application_LoadComponentNative(IntPtr pContext, IntPtr pComponent, UInt32 cUriStringLength, String uriString, UInt32 cXamlStrLength, Byte* pXamlStr, UInt32 cAssemblyStrLength, String AssemblyStr) в MS.Internal.XcpImports.Application_LoadComponent (IManagedPeerBase componentAsDO, String resourceLocator, поток UnmanagedMemoryStream, UInt32 numBytesToRead, String AssemblyString) в System.Windows.Application.LoadComponent (компонент объекта, Uri resourceLocator) в Syncfusion.Phone.Tools.Controls.TimeSpanPickerPage.InitializeComponent() в Syncfusion.Phone.Tools.Controls.TimeSpanPickerPage..ctor() в System.Reflection.RuntimeConstructorInfo.InternalInvoke(RuntimeConstructorInfo rtci, BindingFlags invokeAttr, связыватель Binder, параметры объекта, КультураИнформация о культуре, логическое значение isBinderDefault, вызывающая сторона сборки, логическое значение VerifyAccess, StackCrawlMark и stackMark) в System.Reflection.RuntimeConstructorInfo.InternalInvoke (объект obj, BindingFlags invokeAttr, связыватель Binder, параметры Object[], КультураИнформация о культуре, StackCrawlMark и stackMark) в Системе.Активатор.InternalCreateInstance (тип типа, логическое значение nonPublic, StackCrawlMark и stackMark) в System.Activator.CreateInstance (тип типа) в System.Windows.Navigation.PageResourceContentLoader.BeginLoad_OnUIThread(AsyncCallback userCallback, результат PageResourceContentLoaderAsyncResult) в System.Windows.Navigation.PageResourceContentLoader.c_ DisplayClass4.b_0(Объект аргументы) в System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Объект obj, BindingFlags invokeAttr, Связыватель Binder, Объект параметры, культура CultureInfo, логическое значение isBinderDefault, сборка caller, логическое значение verifyAccess, StackCrawlMark и stackMark) в System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, связыватель Binder, параметры Object[], КультураИнформация о культуре, StackCrawlMark и stackMark) в System.Reflection.MethodBase.Invoke (объект obj, параметры объекта []) в System.Delegate.DynamicInvokeOne (аргументы Object []) в System.MulticastDelegate.DynamicInvokeImpl (аргументы Object []) в System.Delegate.DynamicInvoke (аргументы Object []) в System.Windows.Threading.DispatcherOperation.Invoke() в System.Windows.Threading.Dispatcher.Dispatch(DispatcherPriority приоритет) в System.Windows.Threading.Dispatcher.OnInvoke (контекст объекта) в System.Windows.Hosting.CallbackCookie.Invoke(аргументы Object[]) в System.Windows.Hosting.DelegateWrapper.InternalInvoke(аргументы Object[]) в System.Windows.RuntimeHost.ManagedHost.InvokeDelegate(IntPtr pHandle, Int32 nParamCount, ScriptParam[] pParams, ScriptParam& pResult)

Решение: ApplicationBar — это специальный элемент, который не реализован в Silverlight и не может использоваться с привязкой данных. Вам нужно будет напрямую обновить свойство Text в C#. Питер Торр объясняет это здесь: Блог Питера Торра > Почему объекты ApplicationBar не являются элементами FrameworkElements?

6
задан Ponmalar 29 March 2012 в 08:36
поделиться