一个ScrollViewer内有两个复杂的ListBox

时间:2019-03-26 12:59:16

标签: c# wpf

早上好,我可能遇到了经典问题。我需要将相同的ListBox放在ScrollViewer中。是的,我知道这不是一个好主意。

实际上,在ScrollViewer中将Grid放入了Expander

和我的问题鼠标滚动如何构造? 如果有人选择了列表框,则无法滚动。

现在,我知道组织鼠标如何滚动我的样式列表框之一。 但是我不知道如何创建这种构造的鼠标滚动

<ScrollViewer 
      VerticalAlignment="Top" 
            Grid.Row="2">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                  <Expander IsExpanded="True" 
                   >
                   <ListBox ***><ListBox/>
                  </Expander>

               <Expander IsExpanded="True" 
                         Grid.Row="2" >
                   <ListBox ***><ListBox/>
                  </Expander>

               <ListBox  ***><ListBox/>
               </Expander>
</ScrollViewer>

An example image of how it looks

对于屏幕没有翻译的事实以及问题的“残破语言”,我深表歉意。

修改

如果简化任务。

问题看起来像: 从列表中选择任何项目时,有必要提供滚动(当前列表或整个空间都没有关系)。 如果我删除了全局滚动,那么确定列表框高度的问题

<Grid>
    <ScrollViewer HorizontalAlignment="Left" Margin="7,2,0,0" Width="493" CanContentScroll="True">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="30" />
                <RowDefinition Height="auto" Name="firsrow"/>
                <RowDefinition Height="*" MinHeight="100" Name="secondrow"/>
            </Grid.RowDefinitions>
            <Border Grid.Row="1"  >
                <Expander IsExpanded="True" >
                    <Expander.Header>
                        <StackPanel Orientation= "Horizontal">
                            <TextBlock Text = "header1" />
                        </StackPanel>
                    </Expander.Header>
                    <Grid >
                        <ListBox x:Name="listBox" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled" >
                            <ListBoxItem >
                                <TextBlock Text="1">
                                </TextBlock>
                            </ListBoxItem>
                            <ListBoxItem >
                                <TextBlock Text="2">
                                </TextBlock>
                            </ListBoxItem>
                            <ListBoxItem  >
                                <TextBlock Text="3">
                                </TextBlock>
                            </ListBoxItem>
                            <ListBoxItem >
                                <TextBlock Text="4">
                                </TextBlock>
                            </ListBoxItem>                                
                        </ListBox>
                    </Grid>
                </Expander>
            </Border>
            <Border Grid.Row="2"  >
                <Expander   IsExpanded="True">
                    <Expander.Header>
                        <StackPanel Orientation= "Horizontal">
                            <TextBlock Text = "header2" />
                        </StackPanel>
                    </Expander.Header>
                    <Grid >
                        <ListBox x:Name="listBox_2"  ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                            <ListBoxItem >
                                <TextBlock Text="1">
                                </TextBlock>
                            </ListBoxItem>
                            <ListBoxItem >
                                <TextBlock Text="2">
                                </TextBlock>
                            </ListBoxItem>
                            <ListBoxItem >
                                <TextBlock Text="3">
                                </TextBlock>
                            </ListBoxItem>
                            <ListBoxItem >
                                <TextBlock Text="4">
                                </TextBlock>
                            </ListBoxItem>

                        </ListBox>
                    </Grid>
                </Expander>
            </Border>
        </Grid>
    </ScrollViewer>
</Grid>

0 个答案:

没有答案