programing tip

WPF Datagrid에서 스크롤바를 활성화하려면 어떻게해야합니까?

itbloger 2020. 12. 10. 19:07
반응형

WPF Datagrid에서 스크롤바를 활성화하려면 어떻게해야합니까?


이 기사 에서 다음 Northwind WPF Toolkit 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;
        }
    }
}

를 붙이 DataGridA의 Grid, DockPanel, ContentControl에서 직접 Window. 수직 방향 StackPanel은 자식이 원하는 수직 공간을 제공합니다.


WPF4

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

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

스크롤바는 <ColumnDefinition Width="Auto" />& 와 함께 표시되지 않습니다 <RowDefinition Height="300" />.

또한 잘 작동합니다 : <ColumnDefinition Width="*" />& <RowDefinition Height="300" />이것이 외부 내에 중첩되는 경우 <Grid>.


스크롤바의 스토퍼로 RowDefinition설정된 상위 컨테이너가있는 경우"Auto"

또는 높이 "*"를 설정할 수 있습니다.

내 경우에 일어난 일.


추가 MaxHeightVerticalScrollBarVisibility="Auto"DataGrid내 문제를 해결했다.


제 경우에는 다음으로 설정 MaxHeight하고 교체해야 IsEnabled="False"했습니다.IsReadOnly="True"


열과 행의 높이와 너비가 정의 된 그리드를 추가합니다. 그런 다음 추가 ScrollViewer하고 그 안에 dataGrid를 추가하십시오.

참고 URL : https://stackoverflow.com/questions/673516/how-can-i-enable-scrollbars-on-the-wpf-datagrid

반응형