WPF

2012-04-28 8 views
5

में सामान्य डेटा GridTemplateColumn बनाएं मुझे एक सामान्य DataGridTemplateColumn बनाने की आवश्यकता है, ताकि मैं इसे विभिन्न ऑब्जेक्ट्स और गुणों के साथ अपने एप्लिकेशन में उपयोग कर सकूं।WPF

यहाँ, कुछ नमूना कोड है मैं अपने प्रोजेक्ट में उपयोग

<DataGridTemplateColumn Width="100*"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding Path=Age}"/> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
    <DataGridTemplateColumn.CellEditingTemplate> 
     <DataTemplate> 
      <TextBox Text="{Binding Path=Age}"/> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellEditingTemplate> 
</DataGridTemplateColumn> 

मैं कोड की एक सामान्य संस्करण की आवश्यकता है, ताकि मैं app.xaml में DataTemplate जगह है और मेरी कोड

+0

की [मैं एक संसाधन के रूप में डेटा ग्रिड के CellTemplate परिभाषित कर सकता हूँ संभावित डुप्लिकेट का उपयोग इतना है कि यह उपयोग किया जा सकता एकाधिक कॉलम में?] (http://stackoverflow.com/questions/8354650/can-i-define-celltemplate-of-datagrid-as-a-resource-so-that-it-can-be-reused-in) – Athafoud

उत्तर

6

आप में यह संदर्भित कर सकते हैं टेम्पलेट DataGridTemplateColumn सीधे नहीं कर सकते हैं। लेकिन सौभाग्य से आप कोशिकाओं के लिए वैश्विक टेम्पलेट का उपयोग कर सकते हैं। उदाहरण पर एक नज़र डालें:

App.xaml

<Application.Resources> 

    <DataTemplate x:Key="CellEdintingTemplate"> 
     <TextBox Text="{Binding Path=Age}" /> 
    </DataTemplate> 
    <DataTemplate x:Key="CellTemplate"> 
     <TextBlock Text="{Binding Path=Age}" /> 
    </DataTemplate> 

</Application.Resources> 

<DataGrid> 
     <DataGrid.Columns> 
      <DataGridTemplateColumn 
       CellEditingTemplate="{StaticResource CellEdintingTemplate}" 
       CellTemplate="{StaticResource CellTemplate}" /> 
     </DataGrid.Columns> 
    </DataGrid> 
संबंधित मुद्दे