Краткий ответ - вы не можете. По крайней мере, не напрямую.
Тем не менее, один из способов обойти это - поместить в MyUserControl сквозное свойство, которое просто передает информацию во вложенные элементы управления. Так это будет выглядеть примерно так:
public static readonly DependencyProperty ColumnsProperty =
DependencyProperty.Register("Columns", typeof(GridColumnCollection), typeof(MyUserControl));
public GridColumnCollection Columns
{
get { return (GridColumnCollection)GetValue(ColumnsProperty); }
set { SetValue(ColumnsProperty, value); }
}
Тогда в вашем конструкторе вы должны установить свойство для внутренней коллекции Columns:
public MyUserControl()
{
InitializeComponent();
Columns = DXGrid.Columns;
}
И с этим новым свойством, теперь настроенным, ваш XAML будет выглядеть так:
<local:MyUserControl>
<local:MyUserControl.Columns>
<dxg:Column FieldName="Field1" Width="100"/>
<dxg:Column FieldName="Field2" Width="100"/>
<dxg:Column FieldName="Field3" Width="100"/>
</local:MyUserControl.Columns>
</local:MyUserControl>
Я не знаком с DevEx, поэтому я угадал имя GridColumnCollection. Просто используйте любой тип свойства Columns в вашей DXGrid.