设置WpfDatagridColumn的宽度
我有这个WpfDatagrid,我需要一个精确宽度的列,我有一个问题 我需要“代码”栏的宽度为100。 我需要的列“描述”自动是占据最多的它可以 我需要列“活动”和“编辑”占据100的宽度 您传递代码的方式与图片中的方式相同,我无法填充整个屏幕。谁能解释我做错了? [img]http://www.imagengratis.org/images/capturadh5jd.jpg[/img]设置WpfDatagridColumn的宽度,wpf,wpfdatagrid,Wpf,Wpfdatagrid,我有这个WpfDatagrid,我需要一个精确宽度的列,我有一个问题 我需要“代码”栏的宽度为100。 我需要的列“描述”自动是占据最多的它可以 我需要列“活动”和“编辑”占据100的宽度 您传递代码的方式与图片中的方式相同,我无法填充整个屏幕。谁能解释我做错了? [img]http://www.imagengratis.org/images/capturadh5jd.jpg[/img] 如果我理解正确,您希望列的宽度始终占据足够的空间来显示该列中的每一项,而不是拉伸和填充整个区域 这是一个问
如果我理解正确,您希望列的宽度始终占据足够的空间来显示该列中的每一项,而不是拉伸和填充整个区域 这是一个问题,因为默认情况下DataGrid是虚拟化的,所以在滚动到它们之前不会加载不可见的项目 你也可以
- 将DataGridColumnWidth设置为
,以占用所有剩余空间*
- 禁用虚拟化(由于性能原因,不建议使用)
- 在DataGrid的loaded事件中连接一些内容,该事件评估该列中每个项目的内容,计算它们的渲染宽度,并将列的宽度设置为最大值(由于初始加载时间,也不建议这样做)
- 我想英语不是你的主要语言,但你想要什么还不清楚。您可以将宽度分配给转换器并计算其中的宽度。需要查看数据网格周围的XAML。如何将数据网格放置在窗口上。调整大小的问题可能从调整整个数据网格的大小开始。我使用完整的代码页编辑答案您是否尝试设置Width=“*”而不是Width=“Auto”?是的,我尝试设置Width=“*”而不是结果我想要它
<Page x:Class="CHGUV.Guia.Farmacoterapeutica.Pages.Maestros.TramoEdad.TramoEdadPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:my1="clr-namespace:WpfCCLibrary;assembly=WpfCCLibrary"
Title="Tramos de edad" xmlns:my="clr-namespace:WpfCCLibrary.Control;assembly=WpfCCLibrary" xmlns:mic="http://schemas.microsoft.com/wpf/2008/toolkit" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="720" d:DesignWidth="1050" KeyDown="Page_PreviewKeyDown" Loaded="Page_Loaded">
<Page.Resources>
<DataTemplate x:Key="ItemTemplate">
<StackPanel>
<TextBlock Text="{Binding CFG_CAT_FAR_PosologiaTipo_Tipo}"/>
<TextBlock Text="{Binding CFG_CAT_FAR_PosologiaTipo_Descripcion}"/>
</StackPanel>
</DataTemplate>
</Page.Resources>
<Grid>
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1.5" StartPoint="0,0">
<GradientStop Color="#FF87BDEB" Offset="0" />
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</Grid.Background>
<my:WpfLabel Content="Código" HorizontalAlignment="Left" Margin="39,0,0,107" Name="wpfLabel1" Height="21" VerticalAlignment="Bottom" />
<my:WpfTextBox Height="23" HorizontalAlignment="Left" Margin="121,0,0,107" Name="TextBoxCodigo" VerticalAlignment="Bottom" Width="134" MaxLength="10" KeyDown="TextBoxCodigo_PreviewKeyDown" />
<my:WpfLabel Content="Descripción" Height="22" HorizontalAlignment="Left" Margin="38,0,0,71" Name="wpfLabel2" VerticalAlignment="Bottom" Width="64" />
<my:WpfTextBox Height="23" HorizontalAlignment="Left" Margin="121,0,0,71" Name="TextBoxDescripcion" VerticalAlignment="Bottom" Width="581" MaxLength="150" KeyDown="TextBoxDescripcion_PreviewKeyDown" />
<my:WpfCheckBox Content="Modificable" Height="16" HorizontalAlignment="Left" Margin="324,0,0,110" Name="CheckBoxModificable" VerticalAlignment="Bottom" Estilo="StlWpfCheckBoxAzul" />
<my:WpfCheckBox Content="Activo" Height="16" HorizontalAlignment="Left" Margin="428,0,0,110" Name="CheckBoxActivo" VerticalAlignment="Bottom" Estilo="StlWpfCheckBoxAzul" />
<my:WpfImage Height="24" HorizontalAlignment="Left" Margin="261,0,0,106" Name="ImageCodigoNoNume" Stretch="Fill" VerticalAlignment="Bottom" Width="24" Source="/CHGUV.Guia.Farmacoterapeutica.Pages;component/Images/Cancel_peq.png" Visibility="Collapsed" >
</my:WpfImage>
<Label Content="Tipo posología" Height="25" HorizontalAlignment="Left" Margin="33,0,0,36" Name="label1" VerticalAlignment="Bottom" />
<my:WpfComboBox Height="23" HorizontalAlignment="Left" Margin="121,0,0,36" Name="comboBoxPosologia" VerticalAlignment="Bottom" Width="131" ItemsSource="{Binding CFG_CAT_FAR_PosologiaTipo}" Estilo="StlWpfComboBoxBlackAzul" />
<my:WpfStatusBar Visibility="Visible" Height="25" VerticalAlignment="Bottom" BorderThickness="0.7" BorderBrush="#FF688CAF">
<!--<my:WpfStatusBar.BorderThickness BorderBrush="White" BorderThickness="15" CornerRadius="15" />-->
<my:WpfStatusBar.Background>
<LinearGradientBrush EndPoint="0.0,5.5" StartPoint="0,0">
<GradientStop Color="#4682B4" Offset="0" />
<!--#FF688CAF-->
<GradientStop Color="White" Offset="1" />
</LinearGradientBrush>
</my:WpfStatusBar.Background>
<StatusBarItem Name="statusBarItem" HorizontalAlignment="Left" Foreground="White" />
<StatusBarItem Name="statusBarNoModificable" HorizontalAlignment="Center" Foreground="White" FontWeight="Bold" />
<StatusBarItem Name="statusBarItemEstado" HorizontalAlignment="Right" Foreground="White" />
</my:WpfStatusBar>
<my:WpfDataGrid AutoGenerateColumns="False" Estilo="StlWpfDataGridAlternatingRows" Estilo_Header="WpfDataGridColumnHeaderAzul" Margin="12,12,12,147" Name="dataGridTramoEdad" SelectionChanged="dataGridTramoEdad_SelectionChanged" IsReadOnly="True">
<my:WpfDataGrid.Columns>
<mic:DataGridTextColumn Binding="{Binding CFG_CAT_FAR_TramoEdad_CodTramoEdad}" Header="Código" SortDirection="Ascending" SortMemberPath="CFG_CAT_FAR_TramoEdad" Width="80" MaxWidth="80" MinWidth="80">
<mic:DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Right" />
</Style>
</mic:DataGridTextColumn.ElementStyle>
</mic:DataGridTextColumn>
<mic:DataGridTextColumn Binding="{Binding CFG_CAT_FAR_TramoEdad_DescripcionTramo}" Header="Descripción" SortMemberPath="CFG_CAT_FAR_TramoEdad" Width="Auto">
<mic:DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
</mic:DataGridTextColumn.ElementStyle>
</mic:DataGridTextColumn>
<!--<mic:DataGridTextColumn Binding="{Binding CFG_CAT_FAR_TramoEdad_TipoPosol}" Header="Tipo posología" SortDirection="Ascending" SortMemberPath="CFG_CAT_FAR_TramoEdad" Width="15" />-->
<mic:DataGridCheckBoxColumn Binding="{Binding CFG_CAT_FAR_TramoEdad_Modificable}" Header="Modificable" SortMemberPath="CFG_CAT_FAR_TramoEdad" Width="80" MaxWidth="100" MinWidth="100" />
<mic:DataGridCheckBoxColumn Binding="{Binding CFG_CAT_FAR_TramoEdad_Activo}" Header="Activo" SortMemberPath="CFG_CAT_FAR_TramoEdad" Width="80" MaxWidth="100" MinWidth="100" />
<!--<mic:DataGridTextColumn Binding ="{Binding CFG_CAT_FAR_TramoEdad_UsuarioAlta}" Header="Usuario alta" SortDirection="Ascending" SortMemberPath="CFG_CAT_FAR_TramoEdad" Width="125"/>-->
<!--<mic:DataGridTextColumn Binding ="{Binding CFG_CAT_FAR_TramoEdad_UsuarioModificable}" Header="Usuario modificación" SortDirection="Ascending" SortMemberPath="CFG_CAT_FAR_TramoEdad" Width="125"/>-->
</my:WpfDataGrid.Columns>
</my:WpfDataGrid>
</Grid>
</Page>