2012-07-07 81 views
0

我正在开发silverlight 4应用程序。我有以下数据网格如何指定datagrid列的宽度以占用剩余空间?

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

的代码工作正常。 *宽度占用剩余空间。但是wen s1.FirstName被分配了一个非常长的字符串,然后代码运行,但datagrid不显示滚动条。姓氏列进入右侧并被隐藏。我不想增加datagrd的宽度。如何解决上述问题?为什么datagrid不显示滚动条?你能否给我提供任何可以解决上述问题的代码或链接。

回答

0

此链接here描述了一个解决这个问题的解决方案。我有点怀疑,因为它不适用于WPF(我没有Silverlight),所以有兴趣听听它是否有效。

否则,我认为你将不得不动态设置最后一列的宽度,例如使用触发器。

相关问题