68

この記事の次のNorthwind WPF Toolkit Datagridコードを実行すると、データグリッドが表示されますが、スクロールバーが表示されないため、ユーザーはデータグリッドの一部しか表示できません。私は2009年3月の最新バージョンを使用しています。

WPF Datagrid にスクロールバーを表示するには、何を指定する必要がありますか?

データグリッドを ScrollViewer に入れてみましたが、役に立ちませんでした。

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;
        }
    }
}
4

7 に答える 7

60

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>ます。

于 2011-02-08T14:18:35.070 に答える
20

親コンテナのいずれかのRowDefinition高さが"Auto"スクロールバーのストッパーにも設定されている場合

または、高さ "*" を設定することもできます

これは私の場合に起こりました。

于 2015-05-25T07:06:12.163 に答える
17

を追加MaxHeightVerticalScrollBarVisibility="Auto"て、DataGrid私の問題を解決しました。

于 2016-05-12T09:27:04.883 に答える