Tab Order on Dynamically Loaded Controls
You'll find the answer in the KeyboardNavigation.TabNavigation
Attached Property page from MSDN. This property Gets or sets the logical tab navigation behavior for the children of the element that this property is set on.
There are several possible values in the KeyboardNavigationMode
Enumeration used that affect the tabbing order in different ways, but you're after the Local
value, which has the effect that Tab Indexes are considered on local subtree only inside this container and ... [Navigation leaves the containing element when an edge is reached].
<Grid KeyboardNavigation.TabNavigation="Local"> ...</Grid>