2012-07-07 70 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),所以有興趣聽聽它是否有效。

否則,我認爲你將不得不動態設置最後一列的寬度,例如使用觸發器。