Использование GridSplitter с WindowsFormsHost. Проблема с пропорциональным размером (*) - PullRequest
1 голос
/ 28 января 2020

У меня есть UserControlParent, который имеет UserControlSon и GridSplitter (все внутри Grid).

GridSplitter делит UserControlParent на две части:

  • UserControlSon
  • SomeOtherPart

UserControlSon имеет WindowsFormsHost внутри, он создается динамически. WindowsFormsHost имеет элемент управления CeTe.Dynami c PDFViewer (WinForms) как дочерний элемент внутри.

Когда я пытаюсь использовать GridSplitter для изменения размера UserControlParent.Grid.Row / Column, я получаю следующее:

UserControlSon зависает, поэтому я не могу изменить размер UserControlSon, я не могу переместить GridSplitter с помощью курсора.

У меня есть вся высота Grid.Row, установленная как тип звезды (для пропорционального масштабирования), динамически. Например (30 * и 70 *, поэтому я получаю 30% и 70% частей окна).

Пожалуйста, помогите!

Как мне решить эту проблему?

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <GridSplitter x:Name="splitViewArea" Height="5" Grid.ColumnSpan="2" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Grid.Row="0" Grid.Column="0" />

    <local:SomeControl x:Name="UserControlSon"/>
</Grid>
...