0

Silverlight 4 アプリケーションを開発しています。次のデータグリッドがあります

<data:DataGrid x:Name="StudentDataGrid" AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left" Margin="176,96,0,0" VerticalAlignment="Top" Width="200">
            <data:DataGrid.Columns>
                <data:DataGridTextColumn Header="First Name" Binding="{Binding FirstName}"></data:DataGridTextColumn>
                <data:DataGridTextColumn Width="*" Header="Last Name" Binding="{Binding LastName}" ></data:DataGridTextColumn>

            </data:DataGrid.Columns>
        </data:DataGrid>

次のリストをこのデータグリッドにバインドしています

 public List<Student> GetStudents()
        {
            List<Student> studentList = new List<Student>();
            Student s1 = new Student();
            s1.FirstName = "Anil";
            s1.LastName = "Jadhav";
            Student s2 = new Student();
            s2.FirstName = "Shyam";
            s2.LastName = "Jodh";
            studentList.Add(s1);
            studentList.Add(s2);
            return studentList;
        }

コードは正常に動作します。* 幅は残りのスペースを占有します。しかし、s1.FirstName には非常に長い文字列を持つ値が割り当てられ、コードは実行されますが、データグリッドにはスクロールバーが表示されません。LastName 列は右側に移動し、非表示になります。データグリッドの幅を広げたくありません。上記の問題を解決するには?データグリッドにスクロールバーが表示されないのはなぜですか? 上記の問題を解決できるコードまたはリンクを教えてください。

4

1 に答える 1

0

このリンクは、この問題の解決策を説明しています。WPF (私は Silverlight を持っていません) では機能しないので、私は少し懐疑的です。

それ以外の場合は、たとえばトリガーを使用して、最後の列の幅を動的に設定する必要があると思います。

于 2012-07-07T12:11:08.363 に答える