2

これは、アプリケーションの詳細を表示する UserControl であり、ご覧のとおり、ColumnWidthProperty は明示的に に設定されてい*ます。Widthまた、からプロパティを設定しようとしましたDataGridTextColumn

<UserControl x:Class="WpfUserInterface.MyDetailsView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         mc:Ignorable="d" Height="185" d:DesignWidth="480">
    <Grid>
        <DataGrid ColumnWidth="*" Margin="10">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Column1"/>
                <DataGridTextColumn Header="Column2"/>
                <DataGridTextColumn Header="Column3"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</UserControl>

これは、DataGrid のみを含むメイン ウィンドウです。

<Window x:Class="WpfUserInterface.Window"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window" Height="306" Width="453">
    <Grid>
        <DataGrid ColumnWidth="*">
            <DataGrid.Columns>
                <DataGridTextColumn Header="ParentColumn1"/>
                <DataGridTextColumn Header="ParentColumn2"/>
                <DataGridTextColumn Header="ParentColumn3"/>
            </DataGrid.Columns>
            <DataGrid.RowDetailsTemplate>
                <DataTemplate>
                    <MyDetailsView/>
                </DataTemplate>
            </DataGrid.RowDetailsTemplate>
        </DataGrid>
    </Grid>
</Window>

これは、アプリケーションを実行して親 DataGrid の行を選択したときに画面に表示されるものです。

データグリッド

DataGrid の幅をMyDetailsView400 などの指定した値に設定すると、列のサイズは完璧になりますが、これはオプションではありません。この問題を解決する方法はありますか? 回避策はありますか?

4

1 に答える 1

0

この質問が約1年前に尋ねられたことは知っていますが、同じ問題に直面しており、この解決策を見つけました:

 this.dgrData.Columns[0].Width = new DataGridLength(1, DataGridLengthUnitType.Star);
 this.dgrData.Columns[1].Width = new DataGridLength(1, DataGridLengthUnitType.Star);
 ...

それが誰かの助けになることを願っています。

于 2014-06-08T11:14:55.670 に答える