Tôi có một DataGrid WPF tăng chiều cao khi tôi thêm dữ liệu vào nó sẽ không vừa với chiều cao ban đầu của nó. Tôi không muốn chiều cao thay đổi trừ khi người dùng tăng kích thước Cửa sổ. Có cách nào để dừng tự động thay đổi kích thước này không?Chiều cao của WPF DataGrid tăng khi dữ liệu được thêm
<Window x:Class="WpfDataGridSizeTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Loaded="Window_Loaded"
SizeToContent="WidthAndHeight">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<DockPanel Grid.Row="0">
<DataGrid x:Name="wordsDataGrid" VerticalAlignment="Top" ItemsSource="{Binding}" MinHeight="100" SelectionMode="Single" AutoGenerateColumns="False" VerticalScrollBarVisibility="Auto" >
<DataGrid.Columns>
<DataGridTextColumn Header="Column" Width="Auto" Binding="{Binding AString}"/>
</DataGrid.Columns>
</DataGrid>
</DockPanel>
</Grid>
</Window>
public partial class MainWindow : Window
{
MyList myList = new MyList();
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
wordsDataGrid.DataContext = myList;
for (int i = 0; i < 100; ++i)
{
myList.AddOne("blah blah");
}
}
}
public class MyList : ObservableCollection<AClass>
{
public MyList() { }
public void AddOne(string aString)
{
base.Add(new AClass(aString));
}
}
public class AClass
{
public string AString { get; set; }
public AClass(string aString)
{
AString = aString;
}
}
Đặt nó trong một 'RowDefinition' có' Chiều cao = "*" ' –
tôi đã cố gắng @Meleak này nhưng nó nó làm cho không có sự khác biệt. – Ian