2010-09-18 7 views

Répondre

2

Vous pouvez utiliser DataGridTemplateColumn. Je suppose que vous voulez définir un modèle par défaut dans xaml et l'écraser plus tard dans le code. Ici, je mets à MyDefaultTemplate, qui devrait être défini dans les ressources du contrôle avec votre AnalogTemplate:

<DataGrid AutoGenerateColumns="False" Height="200" Name="dataGrid1" Width="200"> 
     <DataGrid.Columns> 
      <DataGridTemplateColumn x:Name="myColumn" CellTemplate="{StaticResource MyDefaultTemplate}"/>     
     </DataGrid.Columns> 
    </DataGrid> 

Ensuite, vous pouvez facilement changer dans le code:

myColunm.CellTemplate = (DataTemplate) FindResource("AnalogTemplate"); 

Avant de faire quoi que ce soit dans le code que vous devriez demandez-vous si vous pouvez le faire en pur xaml à la place, souvent vous pouvez. Consultez également CellTemplateSelector et CellEditingTemplateSelector.

Notez qu'un DataGrid utilise deux modèles. Un pour l'affichage du contenu non modifiable (CellTemplate) et un pour le contenu modifiable (CellEditingTemplate). Voir DataGridTemplateColumn at MSDN.

+0

merci beaucoup – Timur

Questions connexes