我有一个 datagridview,它压倒了其他控件,并将其添加到网格中,但只是不断发生,如果控件不适合窗口,则附加信息将丢失。有没有可能出现滚动条?
<UserControl x:Class="Laboratorio.Calibracion"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="790" d:DesignWidth="860">
<Grid>
<GroupBox Header="Calibracion">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<GroupBox Grid.Row="0" Grid.Column="0" Header="Equipo">
<Grid>
<Label x:Name="serialLbl" Content="Serial:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0"/>
<TextBox x:Name="serialTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="85,10,0,0" LostFocus="SerialTxb_OnLostFocus"/>
<TextBox x:Name="descripcionTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="144" Margin="209,10,0,0" IsEnabled="False"/>
<Label x:Name="resolucionLbl" Content="Resolucion:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,41,0,0"/>
<TextBox x:Name="resolucionTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="85,41,0,0"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="0" Grid.Column="1" Header="Patron">
<Grid>
<Label x:Name="patronLbl" Content="Patron:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0"/>
<ComboBox x:Name="patronCbb" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Margin="92,7,0,0"/>
<Label x:Name="patronLbl_Copy" Content="Niv. Referencia:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,41,0,0"/>
<TextBox x:Name="nivelRefTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="106,41,0,0"/>
<Label x:Name="patronLbl_Copy1" Content="Fluido:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="217,10,0,0"/>
<ComboBox x:Name="fluidoCbb" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" Margin="267,10,0,0"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="1" Grid.Column="0" Header="Condiciones">
<Grid>
<Label x:Name="temperaturaLbl" Content="Temperatura:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0"/>
<TextBox x:Name="temperaturaTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="36" Margin="94,10,0,0"/>
<Label x:Name="humedadLbl" Content="Humedad:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="135,10,0,0"/>
<TextBox x:Name="humedadTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="35" Margin="205,10,0,0"/>
</Grid>
</GroupBox>
<GroupBox Grid.Column="0" Grid.Row="2" Header="Comprobacion Inicial">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Row="0" x:Name="label" Content="Presion:" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<TextBox Grid.Row="0" x:Name="presionTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="56" Margin="57,0,0,0"/>
<Label Grid.Row="0" x:Name="label1" Content="Lectura" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="118,0,0,0"/>
<TextBox Grid.Row="0" x:Name="lecturaTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="61" Margin="172,1,0,0"/>
<Button Grid.Row="0" x:Name="AgregarBtn" Content="Agregar" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="266,0,0,0" Click="AgregarBtn_Click"/>
<DataGrid Grid.Row="1" x:Name="compInicialDgv" CanUserAddRows="True" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Presion Patron" IsReadOnly="True" Binding="{Binding Path=PresionPatron}"></DataGridTextColumn>
<DataGridTextColumn Header="Lecturas" IsReadOnly="True" Binding="{Binding Path=Lectura}"></DataGridTextColumn>
<DataGridTextColumn Header="Error" IsReadOnly="True" Binding="{Binding Path=Error}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<RadioButton Grid.Row="2" x:Name="ajusteRb" Content="Ajuste" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,10,0,0"/>
<RadioButton Grid.Row="2" x:Name="calibracionRb" Content="Calibracion" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="187,10,0,0"/>
<TextBox Grid.Row="3" x:Name="observacionTxb" HorizontalAlignment="Left" Height="53" TextWrapping="Wrap" VerticalAlignment="Top" Width="354" Margin="10,54,0,-50"/>
</Grid>
</GroupBox>
<GroupBox Grid.Column="1" Grid.Row="2" Header="Segunda Secuencia">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Row="0" x:Name="presion2Lbl" Content="Presion:" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<TextBox Grid.Row="0" x:Name="presion2Txb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="56" Margin="57,0,0,0"/>
<Label Grid.Row="0" x:Name="lectura2Lbl" Content="Lectura" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="118,0,0,0"/>
<TextBox Grid.Row="0" x:Name="lectura2Txb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="61" Margin="172,1,0,0"/>
<Button Grid.Row="0" x:Name="agregar2Btn" Content="Agregar" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="266,0,0,0" Click="Agregar2Btn_OnClick" />
<DataGrid Grid.Row="1" x:Name="segSecDgv">
<DataGrid.Columns>
<DataGridTextColumn Header="Presion Patron" IsReadOnly="True" Binding="{Binding Path=PresionPatron}"></DataGridTextColumn>
<DataGridTextColumn Header="Lecturas" IsReadOnly="True" Binding="{Binding Path=Lectura}"></DataGridTextColumn>
<DataGridTextColumn Header="Error" IsReadOnly="True" Binding="{Binding Path=Error}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<RadioButton Grid.Row="2" x:Name="calibracion2Rb" Content="Ajuste" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="40,10,0,0"/>
<RadioButton Grid.Row="2" x:Name="dadoBajaRb" Content="Calibracion" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="128,14,0,0"/>
<TextBox Grid.Row="3" x:Name="observacion2Txb" HorizontalAlignment="Left" Height="54" TextWrapping="Wrap" VerticalAlignment="Top" Width="282" Margin="10,51,0,0"/>
</Grid>
</GroupBox>
<GroupBox Grid.Row="3" Grid.Column="0" Header="Datos de Calibracion" Margin="5,5,5,-211">
<Grid>
<Label Content="Punto:"></Label>
<TextBox x:Name="puntoTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="60" Margin="61,1,0,0"/>
<Button x:Name="addPuntoBtn" Content="Agregar Punto" HorizontalAlignment="Left" VerticalAlignment="Top" Width="93" Margin="126,0,0,0" Click="AgregarPunto_OnClick"/>
<DataGrid x:Name="calibracionDgv" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,42,0,0" Width="377" CanUserAddRows="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Creciente"></DataGridTextColumn>
<DataGridTextColumn Header="Decreciente"></DataGridTextColumn>
<DataGridTextColumn Header="Creciente"></DataGridTextColumn>
<DataGridTextColumn Header="Decreciente"></DataGridTextColumn>
<DataGridTextColumn Header="Creciente"></DataGridTextColumn>
<DataGridTextColumn Header="Decreciente"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<Label x:Name="claselbl" Content="Clase de Exactitud" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,72,0,0"/>
<TextBox x:Name="claseTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="126,72,0,0"/>
<Label x:Name="condLbl" Content="Cond. Amb. Finales" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,103,0,0"/>
<TextBox x:Name="condTxb" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" Margin="126,103,0,0"/>
</Grid>
</GroupBox>
</Grid>
</GroupBox>
</Grid>
最佳答案
据我了解,您有两个问题:
- 内部
<GroupBox Grid.Row="2" Grid.Column="1" ...>
你有重叠的单选按钮DataGrid
.这是因为它们都放在相同Grid
中, 并且单选按钮添加晚于DataGrid
, 所以他们在DataGrid
的顶部.
我不知道这个GroupBox
最后的样子是什么你想要吗,但你可以增加单选按钮的上边距以摆脱重叠的数据网格标题,或者让 DataGrid
在 Grid.ZIndex
的帮助下始终位于其他控件的顶部附加属性,像这样:
<GroupBox Grid.Row="2" Grid.Column="1" Header="Segunda Secuencia">
<Grid>
<DataGrid Grid.ZIndex="11" x:Name="segSecDgv" Margin="0,57,0,134">
...
</DataGrid>
<RadioButton Grid.ZIndex="10" x:Name="calibracion2Rb" Content="Ajuste" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="40,74,0,0"/>
<RadioButton Grid.ZIndex="10" x:Name="dadoBajaRb" Content="Calibracion" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="138,74,0,0"/>
<TextBox Grid.ZIndex="10" x:Name="observacion2Txb" HorizontalAlignment="Left" Height="54" TextWrapping="Wrap" VerticalAlignment="Top" Width="282" Margin="10,114,0,0"/>
</Grid>
</GroupBox>
- 内部
<GroupBox Grid.Row="2" Grid.Column="0" ...>
当内容变大时滚动条不出现。有几个与此问题相关的问题,例如 this one .
你可以尝试改变这个
<GroupBox Grid.Row="2" Grid.Column="0" Header="Comprobacion Inicial">
...
</GroupBox>
看起来像这样:
<ScrollViewer Grid.Row="2" Grid.Column="0" VerticalScrollBarVisibility="Auto">
<GroupBox Header="Comprobacion Inicial">
...
</GroupBox>
</ScrollViewer>
关于c# - 避免与 datagridview WPF 重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37449161/