Vous pouvez obtenir en utilisant le code suivant.
public void DataGridCellValue(object param)
{
string clipboard = string.Empty;
if (param != null)
{
if (param is DataGridCell)
{
DataGridCell cell = (DataGridCell)param;
dynamic column = cell.Column as DataGridTextColumn;
if (cell.Column is DataGridTextColumn)
column = cell.Column as DataGridTextColumn;
if (cell.Content is TextBlock)
{
TextBlock tBlock = cell.Content as TextBlock;
clipboard = string.IsNullOrEmpty(tBlock.Text) ? string.Empty : tBlock.Text.Trim();
}
}
else if (param.GetType().IsValueType)
{
clipboard = param.ToString();
}
}
}
#endregion
}
public ICommand DataGridCellValue
{
get
{
return new DelegatingCommand((object param) =>
{
new Action(() =>
{
DataGridCopyToClipBoard(param);
}).Invoke();
});
}
}
Utilisez la reliure comme comme dans votre WPF XAML
"{Binding CurrentCell, RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}"
Le commandement et de CommandParameter sont
Command="{Binding DataGridCellValue}"
CommandParameter="{Binding CurrentCell, RelativeSource={RelativeSource FindAncestor, AncestorType=DataGrid}}"
Je voulais un Datagrid blanc pour l'utilisateur de données d'entrée et puis enregistrez dans la base de données. Pour cela, j'ai lié le Datatable vide à Datagrid et j'ai laissé quelques textboxes pour l'entrée User et 1 bouton qui va ajouter des valeurs de textbox à la grille. et pour l'enregistrement, j'ai assigné datacontext de datagrid à Datatable et ai fait l'effort supplémentaire sur le Datatable lui-même qui a jeté des données à la base de données. Maintenant s'il vous plaît dites-moi .. est-ce une bonne pratique pour WPF ???? J'en doute. –
@AeshaPatel bien que vous ayez donné cette description, j'ai de nombreuses questions comme pourquoi l'utilisateur entre des valeurs dans la zone de texte, et ensuite vous utilisez l'événement d'un bouton pour remplir la grille avec ces valeurs. ne pouvez-vous pas simplement entrer un texte dans la grille elle-même? De plus, vous n'avez pas besoin d'assigner quoi que ce soit à datatable, il vous suffit de lier votre table de données en tant que grille d'éléments et toute nouvelle donnée dans la grille sera reflétée dans votre datatable, aucun code explicite n'est requis pour cela dans WPF. Je serai en mesure de vous dire mieux si vous me donnez du code aussi. –