WPF 데이터 그리드에서 스크롤 막대를 활성화하려면 어떻게 해야 합니까?
이 문서에서 다음 Northwind WPF Toolkit Datagrid 코드를 실행하면 데이터 그리드가 표시되지만 스크롤 바가 없으므로 사용자는 데이터 그리드의 일부만 볼 수 있습니다.저는 2009년 3월 최신 버전을 사용하고 있습니다.
WPF 데이터 그리드에 스크롤 막대가 있으려면 무엇을 지정해야 합니까?
Scroll Viewer에 데이터 그리드를 넣으려고 했지만 도움이 되지 않았습니다.
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;
}
}
}
집어넣어요DataGrid
순식간에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"
스크롤 막대에 대한 중지 도구
또는 높이를 "*"로 설정할 수 있습니다.
제 경우에도 그랬었죠
추가 중MaxHeight
그리고.VerticalScrollBarVisibility="Auto"
에서DataGrid
내 문제를 해결했습니다.
열 및 행에 대해 높이와 너비가 정의된 그리드를 추가합니다.그 다음 추가ScrollViewer
그 안에 dataGrid를 추가합니다.
내 경우에는 설정해야 했습니다.MaxHeight
및 대체IsEnabled="False"
타고IsReadOnly="True"
이것은 저에게 효과가 있었습니다.*를 행 높이로 사용하는 것이 중요합니다.
<Grid x:Name="grid">
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="*"/>
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
<TabControl Grid.Row="1" x:Name="tabItem">
<TabItem x:Name="ta"
Header="List of all Clients">
<DataGrid Name="clientsgrid" AutoGenerateColumns="True" Margin="2"
></DataGrid>
</TabItem>
</TabControl>
</Grid>
언급URL : https://stackoverflow.com/questions/673516/how-can-i-enable-scrollbars-on-the-wpf-datagrid
'itsource' 카테고리의 다른 글
특정 유형(버튼/텍스트 상자)의 Windows Forms 양식에 대한 모든 하위 컨트롤을 가져오는 방법은 무엇입니까? (0) | 2023.05.22 |
---|---|
Python vs Bash - 성능 측면에서 각 작업이 다른 작업을 능가합니까? (0) | 2023.05.17 |
'_eq__'을(를) 정의하는 유형은 해시할 수 없습니까? (0) | 2023.05.17 |
jQuery를 사용하여 드롭다운 목록에 옵션을 추가하려면 어떻게 해야 합니까? (0) | 2023.05.17 |
"-m" 옵션을 사용하여 "라이브러리 모듈을 스크립트로 실행"한다는 것은 무엇을 의미합니까? (0) | 2023.05.17 |