wpf datagrid horizontal scrollbar




WPF Datagrid에서 스크롤 막대를 활성화하려면 어떻게해야합니까? (4)

이 기사 에서 다음 Northwind WPF Toolkit Datagrid 코드를 실행하면 DataGrid를 얻을 수 있지만 스크롤 막대없으므로 사용자는 DataGrid의 일부만 볼 수 있습니다. 2009 년 3 월 최신 버전을 사용하고 있습니다.

WPF Datagrid에 스크롤 막대가 있도록 지정하려면 무엇이 필요합니까?

ScrollViewer에 DataGrid를 넣으려고했으나 도움이되지 않았습니다.

XAML :

<Window x:Class="TestDataGrid566.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit"
    Title="Window1" Height="600" Width="800">
    <StackPanel>
        <toolkit:DataGrid x:Name="TheDataGrid" AutoGenerateColumns="True"/>
    </StackPanel>
</Window>

코드 숨김 :

using System.Linq;
using System.Windows;
using TestDataGrid566.Model;

namespace TestDataGrid566
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            NorthwindDataContext db = new NorthwindDataContext();
            var customers = from c in db.Customers
                            select c;
            TheDataGrid.ItemsSource = customers;
        }
    }
}

MaxHeight 및 VerticalScrollBarVisibility = "Auto"를 DataGrid에 추가하면 문제가 해결됩니다.


WPF4

<DataGrid AutoGenerateColumns="True" Grid.Column="0" Grid.Row="0"
      ScrollViewer.CanContentScroll="True" 
      ScrollViewer.VerticalScrollBarVisibility="Auto"
      ScrollViewer.HorizontalScrollBarVisibility="Auto">
</DataGrid>

with : <ColumnDefinition Width="350" /> & <RowDefinition Height="300" /> 잘 동작합니다.

<ColumnDefinition Width="Auto" /> & <RowDefinition Height="300" /> 에는 스크롤 막대가 표시되지 않습니다.

또한 <ColumnDefinition Width="*" /><RowDefinition Height="300" /> 이 잘 작동합니다 (외부 <Grid> 내에 중첩 된 경우).


열과 행에 대해 정의 된 높이와 너비가있는 격자를 추가하십시오. 그런 다음 ScrollViewer를 추가하고 내부에 dataGrid를 추가합니다.


DataGridGrid , DockPanel , ContentControl 하거나 Window 직접 배치하십시오. 수직 지향적 인 StackPanel 은 아이들이 요구하는 수직 공간이 무엇이든 상관없이 아이들에게 줄 것이다.





scroll