0

いくつかのタブアイテムがあり、それぞれにDataGridがあり、DataGridの属性「AutoGenerateColumns」をfalseに設定しています。TabControlはScrollViewerに含まれています。ここに質問があります。すべてのTabItemのすべてのDataGridには、最後に空の列があります。私はグーグルで回りましたが、役に立つものはほとんどありません。コード構造は次のとおりです。

<ScrollViewer>
    <TabControl>
        <TabItem>
            <DataGrid AutoGenerateColumns="False">
            </DataGrid>
        </TabItem>
    </TabControl>
</ScrollViewer> 

誰かが私を助けることができますか?どうもありがとう。

アップデート

OK、実際の状況では、TabControlに複数のTabItemがありますが、TabControlの幅が制限されているため、ScrollViewerを使用してTabItemを「スクロール」し、これらのTabItemを明確に確認できるようにします。これが、結果として生じる理由です。現在の問題。ScrollViewerはTabItemの合計幅に影響し、間接的に各TabItemのDataGridの幅に影響するため、DataGridの列の合計幅はDataGridの幅よりも小さいため、右側に空の列があります。

DataGridの周りに別のScrollViewerを追加しようとしましたが、失敗しました。右側にまだ空白の部分があります。

4

1 に答える 1

1

@ErenErsönmezが回答したように、この動作はDataGridから期待される動作です。これを変更するには、列の幅を設定し、そのうちの少なくとも1つをスパンに設定する必要があります。以下を使用して、行がデータグリッドの幅にまたがるようにしました。

<TabControl>
    <TabItem Header="Tab Item 1">
        <DataGrid AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Column A" Width="Auto" />
                <!-- The following column grows to span the available area -->
                <DataGridTextColumn Header="Column B" Width="*" MinWidth="100" />
                <DataGridTextColumn Header="Column C" Width="Auto" />
            </DataGrid.Columns>
        </DataGrid>
    </TabItem>
<TabControl>

TabControl自体をスクロールするという点で、何をしようとしているのかについて詳細を投稿していただけませんか。タブの数が多いため、TabControl全体をスクロールしようとしていると思います。おそらく、このようなもの(テストされていない)がhttp://rickdoes.net/post/2009/11/06/WPF-Single-Row-Tab-Control.aspxに役立つでしょう

于 2012-05-08T11:20:34.490 に答える