2013-09-05 48 views
0

我有一個下拉列表中GridViewColumn內請建議去哪個方法有關成型UI

值包括「項目」,「ITEM2」

當我點擊「項目」中的列值,該下一列必須是可編輯的 當我點擊item2時,下一列必須再次具有2行和3列的gridview結構,或者輸入6個值。

這可能嗎?請建議

+0

顯示你的工作.. – 2013-09-05 11:38:01

回答

0

你可以使用第二列DataGridTemplateColumn和切換,這取決於在組合框中選擇的項目價值的ContentTemplate。但是您應該將模型支持datagridrow作爲INotifyPropertyChanged實現,並且組合框的SelectedItemBinding應該綁定到模型上的屬性。

 <DataGrid> 
      <DataGrid.Resources> 
       <DataTemplate x:Key="CellTemplate"> 
        <TextBlock Text="{Binding Value2}"/> 
       </DataTemplate> 

       <DataTemplate x:Key="CellEditingTemplate"> 
        <TextBox Text="{Binding Value2}"/> 
       </DataTemplate> 

      </DataGrid.Resources> 
      <DataGrid.Columns> 
       <DataGridComboBoxColumn SelectedItemBinding="{Binding Value1}"/> 
       <DataGridTemplateColumn CellTemplate="{StaticResource CellTemplate}"> 

        <DataGridTemplateColumn.CellEditingTemplate> 
         <DataTemplate> 
          <ContentControl x:Name="myControl"/> 
          <DataTemplate.Triggers> 
           <DataTrigger Binding="{Binding Value2}" Value="item1"> 
            <Setter TargetName="myControl" Property="ContentTemplate" Value="{StaticResource CellEditingTemplate}"/> 
           </DataTrigger> 
           <DataTrigger Binding="{Binding Value2}" Value="item2"> 
            <Setter TargetName="myControl" Property="ContentTemplate" Value="{StaticResource CellTemplate}"/> 
           </DataTrigger> 
          </DataTemplate.Triggers> 
         </DataTemplate> 
        </DataGridTemplateColumn.CellEditingTemplate> 
       </DataGridTemplateColumn> 
      </DataGrid.Columns> 
     </DataGrid> 
+0

謝謝...這解決了我的問題 – user1965995

+0

多數民衆贊成在很好! – Nitin