When the XamBusyIndicator is active you can still tab into and enter data in contained fields. This is not the way it should work.
Hello devSpeed,
Thank your for your post.
I am assuming that to get one of your Fields in the XamDataGrid into edit mode, that you are either programmatically setting the tab navigation to one of your cells, or perhaps showing the XamBusyIndicator while your user is already editing one of those cells. If this is not the case, please let me know, as the following is based on at least one of these assumptions being true.
The XamBusyIndicator currently does not assume that it should take focus when it is shown, and so if your XamDataGrid is in edit mode when the XamBusyIndicator's IsBusy property turns to true, it will remain in edit mode unless you tell it otherwise. This is expected, as we cannot make the assumption that the XamBusyIndicator will affect all of the controls on a particular window, and so we do not internally focus it when it shows up.
If you would like to prevent the XamDataGrid from being editable while the XamBusyIndicator is active, I would recommend perhaps handling the IsBusyChanged event of the indicator, as this will allow you to catch when its IsBusy property changes, and then call the Focus() method on the XamBusyIndicator, as this will pull focus away from the XamDataGrid and onto the XamBusyIndicator, disallowing editing in the grid as long as the XamBusyIndicator remains shown.
Please let me know if you have any other questions or concerns on this matter.
Sincerely,AndrewAssociate Developer
Andrew,
I have a Grid with a XamMaskedEditor and a XamBusyIndicator. When the XamMaskedEditor has focus and the XamBusyIndicatory IsBusy property is true you can tab out of the XamMaskedEditor into the XamTextEditor that is a child of the XamBusyIndicator. I was able to get it to work the way I need by binding the IsEnabled property of the XamBusyIndicator to the inverse of the IsBusy property.
<Grid IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Labels"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Content="Vendor Id"/>
<igEditors:XamMaskedEditor Grid.Column="1"
Mask="999999999"
Value="{Binding VendorId, UpdateSourceTrigger=LostFocus}"
PromptChar=""
IsReadOnly="{Binding IsExisting}">
<i:Interaction.Behaviors>
<plumbing:FocusBehavior Name="VendorId" FocusBinding="{Binding FocusElement}" />
</i:Interaction.Behaviors>
</igEditors:XamMaskedEditor>
<ig:XamBusyIndicator IsBusy="{Binding IsExisting,
Converter={StaticResource InverseBooleanConverter}}"
Grid.Row="1" Grid.ColumnSpan="2" Style="{StaticResource BusyNull}"
OverlayStyle="{StaticResource BusyOverlay}"
IsEnabled="{Binding RelativeSource={RelativeSource Self},
Path=IsBusy,Converter={StaticResource InverseBooleanConverter}}"
FocusTarget="{Binding ElementName=VendorNameInput}">
<Grid>
<Label Content="Name" Grid.Row="0"/>
<igEditors:XamTextEditor x:Name="VendorNameInput"
Grid.Column="1" Value="{Binding ActiveVendor.VendorName}"
Grid.Row="0">
<igEditors:XamTextEditor.ValueConstraint>
<igEditors:ValueConstraint MaxLength="75"/>
</igEditors:XamTextEditor.ValueConstraint>
<plumbing:FocusBehavior Name="VendorName" FocusBinding="{Binding FocusElement}" />
</igEditors:XamTextEditor>
</Grid>
</ig:XamBusyIndicator>
I apologize, it appears that I had misunderstood your requirement in this case.
I have tested the new scenario, and I am also able to reproduce it. The workaround that you are employing at the moment is what I would recommend, as this is unexpected behavior, and I have asked our engineering staff to examine this issue further. As a response to it, I have logged development issue 242219 in our internal tracking systems.
I have also created you a support case so you can track this development issue. It has an ID of CAS-187066-X5W6X9 and you can access it after signing into your account on the Infragistics website, here: https://www.infragistics.com/my-account/support-activity. I will be sending an initial update to that support case shortly and you should receive an e-mail at the address associated with your Infragistics account notifying you of the link to development issue 242219.