0
我是WPF的新手,嘗試將程序從WinForms轉換爲WPF。我遇到了一個呃試圖從DataGridView轉換到DataGrid並添加行。任何幫助表示讚賞。向WPF DataGrid添加空行,然後編輯單元格
原始代碼:
for (int i = 0; i < noteArray.Count; i++)
{
int newIndex = dtgrdNotes.Rows.Add();
dtgrdNotes.Rows[newIndex].Cells[0].Value = noteArray[i].ToString();
dtgrdNotes.Rows[newIndex].Cells[1].Value = chkbx1.Checked;
dtgrdNotes.Rows[newIndex].Cells[2].Value = chkbx2.Checked;
}
我需要的代碼在WPF工作,我已經試過的dtgrdNotes.Items甚至DataRowView的不同的變化,但迄今沒有奏效。有什麼建議麼?
更新* XAML,與控制問題無二理查德:
<DataGrid Name="dtgrdNotes" Height="178" Width="739" HorizontalAlignment="Right" VerticalAlignment="Bottom" Canvas.Left="1" IsEnabled="False" >
<DataGrid.Columns>
<DataGridTextColumn x:Name="dgtxtbxNote" Width="*" Binding="{Binding note}"/>
<DataGridCheckBoxColumn x:Name="dgchbxInquire" Width="100" Binding="{Binding inquire}" />
<DataGridCheckBoxColumn x:Name="dgchbxPrint" Width="100" Binding="{Binding print}" />
<DataGridTemplateColumn x:Name="dgbtncDelete" Width="80" Header="Button">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:Name="dgbtncDeleteButton" Content="Delete" Width="50px" Height="10px" FontWeight="Bold" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
所以,在這個例子中,我可以通過創建一個新的「人」,然後補充說,人可觀察集合添加一個新行,每當我想要的嗎? – Hank
是的。一個好處是,如果您編輯視圖,集合會自動查看更改 – Richard
我不確定是否應該爲此提出新問題,但也許您會知道。我試圖實現類似於你的例子,但與列中的內容是控件(複選框,按鈕等)每次我嘗試,我得到出現在單元格中是「System.WIndows.Controls.CheckBox 「或」System.WIndows.Controls.Button「而不是實際的控制。我已經正確地更改了類變量類型,並且在將它添加爲DataGrid ItemsSource之前,它確實顯示爲我的類的一部分。該列在XAML中也適用於複選框。有任何想法嗎? – Hank