2011-07-30 25 views
11

Dlaczego to kod błędu:DataGridTemplateColumn: Kolekcja Items musi być pusta przed użyciem ItemsSource.

 <dg:DataGrid Name="dataGrid" AutoGenerateColumns="False"         
       HeadersVisibility="Column" SelectedIndex="-1" Margin="0,315,0,0" Background="#FF484040" BorderBrush="#FF484040"> 
     <dg:DataGrid.Columns> 
      <dg:DataGridTextColumn Binding="{Binding IdBook}" Header="IdBook"></dg:DataGridTextColumn> 
      <dg:DataGridTextColumn Binding="{Binding NameBook}" Header="NameBook"></dg:DataGridTextColumn> 
      <dg:DataGridTextColumn Binding="{Binding Author}" Header="Author"></dg:DataGridTextColumn> 
     </dg:DataGrid.Columns> 

     <dg:DataGridTemplateColumn Header="Delete"> 

      <dg:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <Button Style="{DynamicResource GlassButton}" Background="{DynamicResource DeleteButton}"> 

        </Button> 
       </DataTemplate> 
      </dg:DataGridTemplateColumn.CellTemplate> 

      </dg:DataGridTemplateColumn> 
    </dg:DataGrid> 

Poniższy kod jest poprawny:

 <dg:DataGrid Name="dataGrid" AutoGenerateColumns="False"         
       HeadersVisibility="Column" SelectedIndex="-1" Margin="0,315,0,0" Background="#FF484040" BorderBrush="#FF484040"> 
     <dg:DataGrid.Columns> 
      <dg:DataGridTextColumn Binding="{Binding IdBook}" Header="IdBook"></dg:DataGridTextColumn> 
      <dg:DataGridTextColumn Binding="{Binding NameBook}" Header="NameBook"></dg:DataGridTextColumn> 
      <dg:DataGridTextColumn Binding="{Binding Author}" Header="Author"></dg:DataGridTextColumn> 
     </dg:DataGrid.Columns> 

    </dg:DataGrid> 

Ale nie można dodać przycisk do DataGrid

Odpowiedz

25

Przechowywać kolumnę szablonu wewnątrz DataGrid.Columns.

 <dg:DataGrid Name="dataGrid" AutoGenerateColumns="False"         
      HeadersVisibility="Column" SelectedIndex="-1" Margin="0,315,0,0" Background="#FF484040" BorderBrush="#FF484040"> 
    <dg:DataGrid.Columns> 
     <dg:DataGridTextColumn Binding="{Binding IdBook}" Header="IdBook"></dg:DataGridTextColumn> 
     <dg:DataGridTextColumn Binding="{Binding NameBook}" Header="NameBook"></dg:DataGridTextColumn> 
     <dg:DataGridTextColumn Binding="{Binding Author}" Header="Author"></dg:DataGridTextColumn> 
     <dg:DataGridTemplateColumn Header="Delete"> 
      <dg:DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
         <Button Style="{DynamicResource GlassButton}" Background="{DynamicResource DeleteButton}"> 
         </Button> 
      </DataTemplate> 
     </dg:DataGridTemplateColumn.CellTemplate> 
     </dg:DataGridTemplateColumn> 
    </dg:DataGrid.Columns> 
    </<dg:DataGrid> 
+0

Błąd ... dziękuję Jose – mrJack

+1

Doh! Zapomniałem również DataGrid.Columns. – apc