Элементы управления внутри scrollviewer - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь заставить Itemscontrol, находящийся внутри Scrollviewer, вести себя как обертка.то есть размеры обертки в окне и его содержимое распределены по нескольким строкам.В настоящее время я получаю одну строку с полосой прокрутки внизу.В моем примере используется док-панель, но даже с установленным LastChildFill он не работает так, как я хочу.

XAML:

<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" LastChildFill="True">
    <GroupBox DockPanel.Dock="Top" Grid.Row="0" Header="Options" Margin="3" BorderThickness="2" FontSize="13">
        <Grid Margin="0,-1,0,2">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="0.5*"/>
                <ColumnDefinition Width="0.5*"/>
                <ColumnDefinition Width="0.5*"/>
            </Grid.ColumnDefinitions>
            <CheckBox Grid.Column="1" x:Name="pvUseReference" Margin="5 6 5 5" FlowDirection="RightToLeft" IsChecked="{Binding pvUseReference}" Content="Use Reference" HorizontalAlignment="Center"/>
            <ComboBox Grid.Column="2" x:Name="pvStream" Width="100" Margin="5 3 5 2" IsEditable="False" SelectedValuePath="Content" SelectedValue="{Binding pvSelectedStream}">
                <ComboBoxItem Content="Upstream"/>
                <ComboBoxItem Content="Downstream"/>
                <ComboBoxItem IsSelected="True" Content="Delta CP"/>
            </ComboBox>
        </Grid>
    </GroupBox>
    <ScrollViewer x:Name="scrollViewer" HorizontalAlignment="Left" VerticalAlignment="Top" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" >
        <Grid>
            <Grid.LayoutTransform>
                <TransformGroup>
                    <ScaleTransform x:Name="ScaleTransformer"/>
                </TransformGroup>
            </Grid.LayoutTransform>
            <ItemsControl ItemsSource="{Binding SweepCharts, Mode=TwoWay}" Width="auto" Height="auto">
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel/>
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <Border BorderThickness="1" BorderBrush="Black" >
                            <StackPanel>
                                <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                                    <TextBlock  Text="{Binding TitlePrefix}"/>
                                    <TextBlock FontWeight="Bold" Foreground="Red" Text="{Binding ActiveAttitude}"/>
                                    <TextBlock  Text="{Binding TitleSuffix}"/>
                                </StackPanel>
                                <Controls:PresVisControl ImagePath="{Binding PresTapImagePath}"  Margin="5" PresTapDataGreen="{Binding lclPresTapDataGreen}" PresTapDataRed="{Binding lclPresTapDataRed}" PresTapDataScale="{Binding lclPresTapDataScale}"/>
                            </StackPanel>
                        </Border>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </Grid>
    </ScrollViewer>
</DockPanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...