Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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# 最大化窗口时垂直响应Datagrid_C#_Wpf_Xaml_Datagrid - Fatal编程技术网

C# 最大化窗口时垂直响应Datagrid

C# 最大化窗口时垂直响应Datagrid,c#,wpf,xaml,datagrid,C#,Wpf,Xaml,Datagrid,我试图动态设置datagrid中的行的高度,我的意思是datagrid的高度应该基于数据绑定(来自数据库),我对列没有问题,当我最大化窗口时,列会增加并占用可用空间,它们会做出响应。 现在的问题是行,所以我需要的是当我最大化窗口时,datagrid应该垂直占用可用空间(增加标题的字体大小和datagrid中显示的数据) 是否有可能使datagrid的行响应 Xaml代码: <DockPanel Grid.Row="2" Width="auto" Mi

我试图动态设置datagrid中的行的高度,我的意思是datagrid的高度应该基于数据绑定(来自数据库),我对列没有问题,当我最大化窗口时,列会增加并占用可用空间,它们会做出响应。 现在的问题是行,所以我需要的是当我最大化窗口时,datagrid应该垂直占用可用空间(增加标题的字体大小和datagrid中显示的数据)

是否有可能使datagrid的行响应

Xaml代码:

<DockPanel Grid.Row="2" Width="auto" MinWidth="800" Height="auto" >
   <ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto">
      <DataGrid  VerticalScrollBarVisibility="Auto" Margin="20" Height="auto" Width="auto" GridLinesVisibility="All"  ItemsSource="{Binding GridModel}" x:Name="UserGrid" MinWidth="1200"
                 VerticalAlignment="Top" FlowDirection="RightToLeft" 
                 AutoGenerateColumns="False" CanUserAddRows="false" MinHeight="800"  
                 Grid.RowSpan="2" RenderTransformOrigin="0.497,0.551" MouseDoubleClick="UserGrid_MouseDoubleClick" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Hidden">

         <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
               <Setter Property="Height" Value="Auto"/>
            </Style>
         </DataGrid.RowStyle>
         <DataGrid.Resources>

            <Style  x:Key="DisableSelection" TargetType="DataGridCell">
               <!--  <Setter Property="Focusable" Value="False"/> -->
               <Setter Property="Background" Value="Transparent"/>
               <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
               <Setter Property="BorderBrush" Value="Transparent"/>
            </Style>
         </DataGrid.Resources>
         <DataGrid.Columns>

            <DataGridCheckBoxColumn Header="choose" x:Name="choose" Binding="{Binding isChecked}" >

               <DataGridCheckBoxColumn.CellStyle>

                  <Style  TargetType="DataGridCell"  BasedOn="{StaticResource {x:Type DataGridCell}}">
                     <Style.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                           <Setter Property="IsEditing" Value="True"/>
                        </Trigger>
                     </Style.Triggers>
                     <EventSetter Event="CheckBox.Checked" Handler="OnChecked"/>
                     <EventSetter Event="CheckBox.Unchecked" Handler="OnChecked"/>
                     <Setter Property="Background" Value="Transparent" />

                  </Style>

               </DataGridCheckBoxColumn.CellStyle>
            </DataGridCheckBoxColumn>

            <DataGridTextColumn Width="*" CellStyle="{StaticResource DisableSelection}" Header="IDw" x:Name="workIdcl" Binding="{Binding wId}" IsReadOnly="True"  />
            <DataGridTextColumn Width="*" CellStyle="{StaticResource DisableSelection}" Header="subName" x:Name="subscriberNamecl" Binding="{Binding subName}" IsReadOnly="True"/>
            <DataGridTextColumn Width="*" CellStyle="{StaticResource DisableSelection}" Header="UserName" x:Name="patientNamecl"   Binding="{Binding UserName}" IsReadOnly="True" />

         </DataGrid.Columns>

      </DataGrid>
   </ScrollViewer>

</DockPanel>


您可以通过将整个datagrid或父容器放在viewbox中来扩展它。那么DockPanel呢?您能给我一些代码吗?我如何使用viewbox?我应该在ViewBox中使用什么属性?它的子元素需要有一个固定的大小,所以无论你在什么地方放置开始和结束标记,都要设置该元素的大小。你的dockpanel似乎毫无意义。为什么在datagrid周围有一个scrollviewer,而它本身就有一个scrollviewer?两者似乎都没有意义。我已经修复了这个问题,并且删除了另一个scrollviewer,所以现在我在datagrid中只有一个scrollviewer。我已经测试了ViewBox,但是没有得到我需要的,它可以缩放内容,但是我在使用ViewBox时丢失了datagrid中的数据