Обратите внимание на код для этой маленькой программы WPF C #, созданной в Microsoft Visual Studio 2008:
Эта программа просто показывает сетку данных инструментария WPF с 10 столбцами с заголовками и пустой строкой.
Существует проблема, которая возникает, когда определенная ячейка пустой строки выбирается и затем щелкается для редактирования: происходит сбой программы. В Visual Studio появляется окно с сообщением: «Нет исходного кода для текущего местоположения». Я хотел бы знать, как сделать ячейку из сетки данных доступной для редактирования?
System.InvalidOperationException было
необработанное сообщение = "EditItem" не
разрешено для этого просмотра. "
Источник = "PresentationFramework"
Трассировки стека:
в System.Windows.Controls.ItemCollection.System.ComponentModel.IEditableCollectionView.EditItem (Object
вещь)
в Microsoft.Windows.Controls.DataGrid.EditRowItem (Object
rowItem) в
C: \ дд \ WPF_1 \ SRC \ МОФ \ SRC \ ControlsPack \ WPFToolkit \ DataGrid \ Microsoft \ Windows \ Controls \ DataGrid.cs: линия
3396
в Microsoft.Windows.Controls.DataGrid.OnExecutedBeginEdit (ExecutedRoutedEventArgs
д) в
C: \ дд \ WPF_1 \ SRC \ МОФ \ SRC \ ControlsPack \ WPFToolkit \ DataGrid \ Microsoft \ Windows \ Controls \ DataGrid.cs: линия
2208
в Microsoft.Windows.Controls.DataGrid.OnExecutedBeginEdit (Object
отправитель, ExecutedRoutedEventArgs e) в
C: \ дд \ WPF_1 \ SRC \ МОФ \ SRC \ ControlsPack \ WPFToolkit \ DataGrid \ Microsoft \ Windows \ Controls \ DataGrid.cs: линия
2036
в System.Windows.Input.CommandBinding.OnExecuted (Object
отправитель, ExecutedRoutedEventArgs e)
в System.Windows.Input.CommandManager.ExecuteCommandBinding (Object
отправитель, ExecutedRoutedEventArgs e,
CommandBinding commandBinding)
в System.Windows.Input.CommandManager.FindCommandBinding (CommandBindingCollection
commandBindings, Отправитель объекта,
RoutedEventArgs e, команда ICommand,
Логическое выполнение)
в System.Windows.Input.CommandManager.FindCommandBinding (Object
отправитель, RoutedEventArgs e, ICommand
команда, логическое выполнение)
в System.Windows.Input.CommandManager.OnExecuted (Object
отправитель, ExecutedRoutedEventArgs e)
в System.Windows.UIElement.OnExecutedThunk (Object
отправитель, ExecutedRoutedEventArgs e)
в System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler (Delegate
genericHandler, цель объекта)
в System.Windows.RoutedEventArgs.InvokeHandler (Делегат
обработчик, цель объекта)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler (Object
target, RoutedEventArgs
RoutedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl (Object
источник, RoutedEventArgs args, логическое значение
ререйз)
в System.Windows.UIElement.RaiseEventImpl (DependencyObject
отправитель, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent (RoutedEventArgs
args, булево доверенное)
в System.Windows.Input.RoutedCommand.ExecuteImpl (Object
параметр, цель IInputElement,
Boolean userInitiated)
в System.Windows.Input.RoutedCommand.Execute (Object
параметр, цель IInputElement)
в Microsoft.Windows.Controls.DataGrid.BeginEdit (RoutedEventArgs
editEventArgs) в
C: \ дд \ WPF_1 \ SRC \ МОФ \ SRC \ ControlsPack \ WPFToolkit \ DataGrid \ Microsoft \ Windows \ Controls \ DataGrid.cs: линия
3059
в Microsoft.Windows.Controls.DataGridCell.OnAnyMouseLeftButtonDown (MouseButtonEventArgs
д) в
C: \ дд \ WPF_1 \ SRC \ МОФ \ SRC \ ControlsPack \ WPFToolkit \ DataGrid \ Microsoft \ Windows \ Controls \ DataGridCell.cs: линия
+748
в Microsoft.Windows.Controls.DataGridCell.OnAnyMouseLeftButtonDownThunk (Object
отправитель, MouseButtonEventArgs e) в
C: \ дд \ WPF_1 \ SRC \ МОФ \ SRC \ ControlsPack \ WPFToolkit \ DataGrid \ Microsoft \ Windows \ Controls \ DataGridCell.cs: линия
+726в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler (Delegate
genericHandler, объект genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler (Делегат
обработчик, цель объекта)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler (Object
target, RoutedEventArgs
RoutedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl (Object
источник, RoutedEventArgs args, логическое значение
ререйз)
в System.Windows.UIElement.ReRaiseEventAs (DependencyObject
отправитель, RoutedEventArgs args,
RoutedEvent newEvent)
в System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent (DependencyObject
отправитель, MouseButtonEventArgs e)
в System.Windows.UIElement.OnMouseDownThunk (Object
отправитель, MouseButtonEventArgs e)
в System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler (Delegate
genericHandler, объект genericTarget)
в System.Windows.RoutedEventArgs.InvokeHandler (Делегат
обработчик, цель объекта)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler (Object
target, RoutedEventArgs
RoutedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl (Object
источник, RoutedEventArgs args, логическое значение
ререйз)
в System.Windows.UIElement.RaiseEventImpl (DependencyObject
отправитель, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent (RoutedEventArgs
args, булево доверенное)
в System.Windows.Input.InputManager.ProcessStagingArea ()
в System.Windows.Input.InputManager.ProcessInput (InputEventArgs
вход)
в System.Windows.Input.InputProviderSite.ReportInput (InputReport
inputReport)
в System.Windows.Interop.HwndMouseInputProvider.ReportInput (IntPtr
hwnd, режим InputMode, временная метка Int32,
Действия RawMouseActions, Int32 x,
Int32 y, Int32 wheel)
в System.Windows.Interop.HwndMouseInputProvider.FilterMessage (IntPtr
hwnd, Int32 msg, IntPtr wParam, IntPtr
lParam, логическое и обработанное)
в System.Windows.Interop.HwndSource.InputFilterMessage (IntPtr
hwnd, Int32 msg, IntPtr wParam, IntPtr
lParam, логическое и обработанное)
на MS.Win32.HwndWrapper.WndProc (IntPtr
hwnd, Int32 msg, IntPtr wParam, IntPtr
lParam, логическое и обработанное)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation (Object
о)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall (Делегат
обратный вызов, объектные аргументы, логическое значение
isSingleParameter)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen (Object
источник, делегат обратного вызова, объект
args, Boolean isSingleParameter,
Делегат catchHandler)
в System.Windows.Threading.Dispatcher.WrappedInvoke (Делегат
обратный вызов, объектные аргументы, логическое значение
isSingleParameter, Delegate
catchHandler)
в System.Windows.Threading.Dispatcher.InvokeImpl (DispatcherPriority
приоритет, время ожидания, время делегата
метод, объектные аргументы, логическое значение
isSingleParameter)
в System.Windows.Threading.Dispatcher.Invoke (DispatcherPriority
приоритет, метод делегата, объект arg)
в MS.Win32.HwndSubclass.SubclassWndProc (IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr
LPARAM)
в MS.Win32. UnsafeNativeMethods.DispatchMessage (MSG &
сбщ)
в System.Windows.Threading.Dispatcher.PushFrameImpl (DispatcherFrame
Рамка)
в System.Windows.Threading.Dispatcher.PushFrame (DispatcherFrame
Рамка)
в System.Windows.Threading.Dispatcher.Run ()
в System.Windows.Application.RunDispatcher (Object
игнорировать)
в System.Windows.Application.RunInternal (Window
окно)
в System.Windows.Application.Run (Window
окно)
в System.Windows.Application.Run ()
в WpfDatagridTest.App.Main () в
C: \ Users \ Frank \ Documents \ Visual_Studio_2008 \ Projects \ WpfDatagridTest \ WpfDatagridTest \ OBJ \ Debug \ App.g.cs: линия
0
в System.AppDomain._nExecuteAssembly (Assembly
сборка, строка [] args)
в System.AppDomain.ExecuteAssembly (StringAssemblyFile, Доказательства
AssemblySecurity, String [] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly ()
в System.Threading.ThreadHelper.ThreadStart_Context (Object
государство)
в System.Threading.ExecutionContext.Run (ExecutionContext
executeContext, ContextCallback
обратный вызов, состояние объекта)
в System.Threading.ThreadHelper.ThreadStart ()
InnerException: