I have a RadGridView in my application that is crashing the application on a select few tablet pc running Windows XP tablet editiion. Because our (state) department is going the tablet way, I really need to get this fixed. Not just disable tablet input services on the pc.
I'm thinking the problem is because the grid that is causing the problem is heavily customized with Data Templates.
The crash happens when they attempt to scroll horizontally on an editable grid. It's been reported that if InsertRows and DeleteRows is disabled, then the grid behaves normally. So far this error has only been reported by users running on a tablet pc.
Also, another user reported that when he tried to activate the TabItem where this grid lives, the application crashed only when there were items bound to the grid. If the bound collection had no items, it didn't crash. His problem was resolved by disabling Tablet Input Services on his Windows 7 tablet pc.
Could someone look at my code and see if I've done something I shouldn't.
I'm thinking the problem is because the grid that is causing the problem is heavily customized with Data Templates.
The crash happens when they attempt to scroll horizontally on an editable grid. It's been reported that if InsertRows and DeleteRows is disabled, then the grid behaves normally. So far this error has only been reported by users running on a tablet pc.
Also, another user reported that when he tried to activate the TabItem where this grid lives, the application crashed only when there were items bound to the grid. If the bound collection had no items, it didn't crash. His problem was resolved by disabling Tablet Input Services on his Windows 7 tablet pc.
Could someone look at my code and see if I've done something I shouldn't.
<
telerik:RadGridView
AutoGenerateColumns
=
"False"
ShowGroupPanel
=
"False"
Margin
=
"15"
x:Name
=
"ActionsGridView"
ItemsSource
=
"{Binding ActionsTaken}"
ColumnWidth
=
"Auto"
SelectionMode
=
"Extended"
CanUserDeleteRows
=
"{Binding DataContext.CanEditActions, ElementName=ResolutionsControl}"
CanUserInsertRows
=
"{Binding DataContext.CanEditActions, ElementName=ResolutionsControl}"
ShowInsertRow
=
"{Binding DataContext.CanEditActions, ElementName=ResolutionsControl}"
SelectedItem
=
"{Binding DataContext.SelectedAction, ElementName=ResolutionsControl, Mode=TwoWay}"
IsSynchronizedWithCurrentItem
=
"True"
ValidatesOnDataErrors
=
"InViewMode"
AddingNewDataItem
=
"RadGridView_AddingNewDataItem"
EnableColumnVirtualization
=
"False"
EnableRowVirtualization
=
"False"
>
<
telerik:RadGridView.FilterDescriptors
>
<
radData:FilterDescriptor
Member
=
"IsDeleted"
Value
=
"false"
Operator
=
"IsEqualTo"
/>
</
telerik:RadGridView.FilterDescriptors
>
<
i:Interaction.Triggers
>
<
i:EventTrigger
EventName
=
"Deleting"
>
<
cmd:EventToCommand
PassEventArgsToCommand
=
"True"
Command
=
"{Binding DataContext.DeletingAction, ElementName=ResolutionsControl}"
/>
</
i:EventTrigger
>
</
i:Interaction.Triggers
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewColumn
CellTemplate
=
"{StaticResource DeleteCellTemplate}"
/>
<
telerik:GridViewComboBoxColumn
Header
=
"Action"
UniqueName
=
"Action"
DataMemberBinding
=
"{Binding ActionID, Mode=TwoWay, ValidatesOnDataErrors=True}"
SelectedValueMemberPath
=
"ActionID"
DisplayMemberPath
=
"Name"
ItemsSource
=
"{Binding DataContext.Actions, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl,AncestorLevel=2}}"
IsComboBoxEditable
=
"True"
>
</
telerik:GridViewComboBoxColumn
>
<
telerik:GridViewDataColumn
Header
=
"Date of Action"
UniqueName
=
"ActionDate"
DataMemberBinding
=
"{Binding DateActionTaken, StringFormat={}{0:d}, ValidatesOnDataErrors=True,UpdateSourceTrigger=PropertyChanged}"
>
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
>
<
TextBlock
Text
=
"{Binding DateActionTaken, StringFormat={}{0:d}, ValidatesOnDataErrors=True}"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
<
telerik:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
telerik:RadDatePicker
SelectedValue
=
"{Binding DateActionTaken, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
SelectableDateEnd
=
"{Binding Source={x:Static System:DateTime.Now}}"
SelectableDateStart
=
"{Binding DataContext.Complaint.DateReceived, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl,AncestorLevel=2}}"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellEditTemplate
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
Header
=
"Action By"
DataMemberBinding
=
"{Binding ActionByUserID}"
MinWidth
=
"120"
>
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
>
<
TextBlock
Text
=
"{Binding ActionBy.FullName}"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
<
telerik:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
StackPanel
VerticalAlignment
=
"Stretch"
Orientation
=
"Horizontal"
>
<
TextBlock
Margin
=
"3,0"
MinWidth
=
"104"
Text
=
"{Binding ActionBy.FullName, ValidatesOnDataErrors=True}"
/>
<
telerik:RadButton
Command
=
"{Binding DataContext.ShowUsersPopup, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl,AncestorLevel=2}}"
>
<
Image
Source
=
"/Complaints.Common;component/Images/magnifier.png"
/>
</
telerik:RadButton
>
</
StackPanel
>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellEditTemplate
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Comments}"
Header
=
"Comments"
UniqueName
=
"ActionComments"
TextWrapping
=
"Wrap"
Width
=
"300"
CellEditTemplate
=
"{StaticResource CommentEditorTemplate}"
>
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
>
<
TextBlock
Width
=
"300"
Text
=
"{Binding Comments}"
TextWrapping
=
"Wrap"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
</
telerik:GridViewDataColumn
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding UserCreated}"
Header
=
"Recorded by"
IsReadOnly
=
"True"
/>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding DateCreated}"
Header
=
"Date/Time Recorded"
IsReadOnly
=
"True"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>