Как сделать адаптивный дизайн в WPF без использования двойной полосы прокрутки - PullRequest
0 голосов
/ 05 мая 2020

У меня возникла проблема с адаптивным дизайном с использованием WPF. но я еще не нашел никакого специального решения c. Я взял одну страницу окна WPF с именем MainWindow.xaml и внутренний контейнер дочерней страницы MdiContainer. как показано ниже:

<ScrollViewer Name="scrollViewer" VerticalScrollBarVisibility="Auto">
    <mdi:MdiContainer Name="Container" Theme="Generic">
        <mdi:MdiChild Name="ChildWindowContent" WindowState="Maximized" />
    </mdi:MdiContainer>
</ScrollViewer>

И после того, как я установил привязку usercontrol в MdiContainer с динамическим именем _CaptureLogsUserControl.xaml , как показано ниже:

<ScrollViewer Name="scrollViewer" VerticalScrollBarVisibility="Auto">
    <DockPanel>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="50"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="50"/>
            </Grid.RowDefinitions>
            <StackPanel Orientation="Horizontal" Grid.Row="0" Grid.Column="0" Style="{StaticResource PanelSaveStyle}" Width="1037" Margin="0,0,15,0" >
                <StackPanel Style="{StaticResource StackPanelRight}" Grid.Column="1" Grid.Row="17" Margin="10,0,0,0" >
                    <Label x:Name="LabelXMLPath" Width="150" Style="{StaticResource MyLabelStyle}" Content="{Binding .[UIResources.LABEL_SELECT_XMLFILE], FallbackValue={x:Static p:UIResources.LABEL_SELECT_XMLFILE}, Mode=OneWay, Source={StaticResource localisation}}" RenderTransformOrigin="0.795,0.579" Margin="0,6"/>
                    <TextBlock Style="{StaticResource ColonStyle}" Text=":" />
                    <local:_ToolTipUserControl ToolTip="{Binding Source={StaticResource localisation }, Mode=OneWay, Path=.[UIResources.TOOLTIP_SELECT_CONFIG_FILE]}" />
                </StackPanel>
            </StackPanel>
        </Grid>
    </DockPanel>
</ScrollViewer>

Когда я запускаю это приложение WPF в в то время у меня была двойная полоса прокрутки. но мой сценарий мне не нужен внутренний scollbar. Мне пришлось сделать много RND, чтобы удалить внутреннюю полосу прокрутки с адаптивным дизайном, но я еще не нашел специального решения c. Если у кого-то есть решение по этому поводу, пожалуйста, помогите мне. Заранее спасибо

1 Ответ

0 голосов
/ 12 мая 2020

Применить ниже 2 изменения:

  1. Вместо MdiContainer используйте ContentControl в MainWindow
  2. Удалите элемент управления ScrollViewer из CaptureLogsUserControl - из-за этого вы получаете двойную полосу прокрутки
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...