I found the answer here .
SharedSizeGroup Grid.IsSharedSizeScope.
UserControl1.xaml:
<UserControl x:Class="WpfApplication1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="SharedSizeGroup1"/>
<ColumnDefinition SharedSizeGroup="SharedSizeGroup2"/>
</Grid.ColumnDefinitions>
<Label Name="Label1" Grid.Column="0">Label1</Label>
<Label Name="Label2" Grid.Column="1">Label2</Label>
</Grid>
</UserControl>
Window1.xaml:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:y="clr-namespace:WpfApplication1">
<Grid Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<y:UserControl1 Grid.Row="0" x:Name="UserControl1A"/>
<y:UserControl1 Grid.Row="1" x:Name="UserControl1B"/>
</Grid>
</Window>
Window1.xaml.cs:
using System.Windows;
namespace WpfApplication1
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
UserControl1A.Label1.Content = "Label1WithLongText";
}
}
}