Winform UserControl и wpf WindowsFormHost: UserControl выходит за границы WindowsFormHost
По какой-то причине я не могу настроить свой пользовательский контроль Winform внутри WindowsFormsHost. Вот xaml, который я использую:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="326*" />
<ColumnDefinition Width="300*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="264*" />
<RowDefinition Height="100*" />
<RowDefinition Height="50*" />
</Grid.RowDefinitions>
<WindowsFormsHost Grid.Row="1"
Grid.Column="0">
<winforms:ServicesUserControl x:Name="servicesUserControl"
UserCanEditRevenue="True"
BorderStyle="Fixed3D">
</winforms:ServicesUserControl>
</WindowsFormsHost>
</Grid>
Вот скриншот, чтобы показать, что я имею в виду:
Вот оригинальный пользовательский элемент управления:
Но когда я помещаю это в WindowsFormHost, я получаю это:
1 ответ
Решение
Если у UserControl нет собственной логики для изменения размера столбцов, ширина UserControl будет привязана к ширине его столбцов. Я бы попробовал реализовать WinFormsHost внутри ScrollViewer, если это будет приемлемый макет.
<ScrollViewer Grid.Row="1"
Grid.Column="0">
<WindowsFormsHost>
<winforms:ServicesUserControl x:Name="servicesUserControl"
UserCanEditRevenue="True"
BorderStyle="Fixed3D" />
</WindowsFormsHost>
</ScrollViewer>