Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 网格WPF上多个数据网格的单个滚动条_C#_Wpf_Datagrid_Scrollbar - Fatal编程技术网

C# 网格WPF上多个数据网格的单个滚动条

C# 网格WPF上多个数据网格的单个滚动条,c#,wpf,datagrid,scrollbar,C#,Wpf,Datagrid,Scrollbar,我在网格上有两个数据网格,其中一个数据网格正好位于另一个数据网格的下方,这两个数据网格共享相同的列标题。我想做的是,我想为这两个数据网格使用一个滚动条(水平滚动条)。我该怎么做 <Grid> <DataGrid Name="StatusGrid" Height="Auto" Width="Auto" AutoGenerateColumns="False" C

我在网格上有两个数据网格,其中一个数据网格正好位于另一个数据网格的下方,这两个数据网格共享相同的列标题。我想做的是,我想为这两个数据网格使用一个滚动条(水平滚动条)。我该怎么做

 <Grid>
    <DataGrid Name="StatusGrid"
              Height="Auto"
              Width="Auto"
              AutoGenerateColumns="False"
              CanUserAddRows="False"
              CanUserReorderColumns="False" />

    <DataGrid AutoGenerateColumns="False"
              Height="auto"
              Width="auto"
              Margin="0,73,0,10"
              Name="heatMap"
              IsReadOnly="True"
              CanUserReorderColumns="False"
              CanUserSortColumns="False"
              ScrollViewer.CanContentScroll="True"
              ScrollViewer.VerticalScrollBarVisibility="Auto"
              ScrollViewer.HorizontalScrollBarVisibility="Auto"
              ItemsSource="{Binding HeatMapCollection}"
              Background="AliceBlue" />
</Grid>

您可以像这样使用
ScrollViewer

<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <DataGrid Grid.Row="0">
            <DataGrid.Columns>
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
            </DataGrid.Columns>
        </DataGrid>
        <DataGrid Grid.Row="1">
            <DataGrid.Columns>
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</ScrollViewer> 

您可以像这样使用
ScrollViewer

<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Disabled">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <DataGrid Grid.Row="0">
            <DataGrid.Columns>
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
            </DataGrid.Columns>
        </DataGrid>
        <DataGrid Grid.Row="1">
            <DataGrid.Columns>
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
                <DataGridTextColumn Width="200" Header="test" />
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</ScrollViewer> 

尝试使用类似ScrollViewer的

<ScrollViewer CanContentScroll="True"
              HorizontalScrollBarVisibility="Visible"
              VerticalScrollBarVisibility="Visible">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <DataGrid Grid.Row="0"
                  Name="StatusGrid"
                  Height="Auto"
                  Width="Auto"
                  AutoGenerateColumns="False"
                  CanUserAddRows="False"
                  CanUserReorderColumns="False" />

        <DataGrid Grid.Row="1"
                  AutoGenerateColumns="False"
                  Width="1000"
                  Margin="0,73,0,10"
                  Name="heatMap"
                  IsReadOnly="True"
                  CanUserReorderColumns="False"
                  CanUserSortColumns="False"
                  ItemsSource="{Binding HeatMapCollection}"
                  Background="AliceBlue" />
    </Grid>
</ScrollViewer>

尝试使用类似ScrollViewer的

<ScrollViewer CanContentScroll="True"
              HorizontalScrollBarVisibility="Visible"
              VerticalScrollBarVisibility="Visible">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <DataGrid Grid.Row="0"
                  Name="StatusGrid"
                  Height="Auto"
                  Width="Auto"
                  AutoGenerateColumns="False"
                  CanUserAddRows="False"
                  CanUserReorderColumns="False" />

        <DataGrid Grid.Row="1"
                  AutoGenerateColumns="False"
                  Width="1000"
                  Margin="0,73,0,10"
                  Name="heatMap"
                  IsReadOnly="True"
                  CanUserReorderColumns="False"
                  CanUserSortColumns="False"
                  ItemsSource="{Binding HeatMapCollection}"
                  Background="AliceBlue" />
    </Grid>
</ScrollViewer>

我正在使用以下附加属性来同步它们。(不知道从哪里得到的)


有了这段代码,你可以在任何地方同步滚动

我正在使用以下附加属性来同步它们。(不知道从哪里得到的)


有了这段代码,你可以在任何地方同步滚动

听到这个消息很高兴