Click here to Skip to main content
15,909,546 members
Home / Discussions / WPF
   

WPF

 
AnswerRe: When Are All DependencyProperties Set Pin
#realJSOP9-Apr-24 1:30
professional#realJSOP9-Apr-24 1:30 
QuestionDataTemplate Problem Pin
Kevin Marois5-Dec-23 12:08
professionalKevin Marois5-Dec-23 12:08 
AnswerRe: DataTemplate Problem Pin
Richard Deeming5-Dec-23 22:03
mveRichard Deeming5-Dec-23 22:03 
AnswerDataGrid Event Not Firing Pin
Kevin Marois30-Nov-23 13:11
professionalKevin Marois30-Nov-23 13:11 
GeneralRe: DataGrid Event Not Firing Pin
Andre Oosthuizen1-Dec-23 22:42
mveAndre Oosthuizen1-Dec-23 22:42 
GeneralRe: DataGrid Event Not Firing Pin
Kevin Marois2-Dec-23 7:41
professionalKevin Marois2-Dec-23 7:41 
QuestionDataGrid Exception Pin
Kevin Marois28-Nov-23 11:36
professionalKevin Marois28-Nov-23 11:36 
AnswerRe: DataGrid Exception Pin
Richard Deeming28-Nov-23 22:30
mveRichard Deeming28-Nov-23 22:30 
The problem is in your RelayCommand<T> class, which indiscriminately tries to cast the command parameter to the specified type.

Your DeleteCommand is an instance of RelayCommand<ColumnInfoEntity>, so it will try to cast the parameter to the ColumnInfoEntity. But for the "new item" row, the parameter will be passed the CollectionView.NewItemPlaceholder[^] value, which will be an MS.Internal.NamedObject instance. Hence the cast will fail, and your code will crash.

Change the RelayCommand<T> to test whether the parameter is the expected type:
C#
private bool CanExecuteCore(T parameter)
{
    return _canExecute is null || _canExecute(parameter);
}

public bool CanExecute(object parameter)
{
    return parameter is T param && CanExecuteCore(param);
}

public void Execute(object parameter)
{
    if (parameter is T param && CanExecuteCore(param))
    {
        _execute(param);
    }
}




"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer

GeneralRe: DataGrid Exception Pin
Kevin Marois29-Nov-23 7:12
professionalKevin Marois29-Nov-23 7:12 
GeneralRe: DataGrid Exception Pin
Kevin Marois29-Nov-23 8:13
professionalKevin Marois29-Nov-23 8:13 
GeneralRe: DataGrid Exception Pin
Richard Deeming29-Nov-23 22:22
mveRichard Deeming29-Nov-23 22:22 
GeneralRe: DataGrid Exception Pin
Kevin Marois30-Nov-23 6:46
professionalKevin Marois30-Nov-23 6:46 
QuestionCustom Control Style Question Revisited Pin
Kevin Marois30-Oct-23 9:14
professionalKevin Marois30-Oct-23 9:14 
AnswerRe: Custom Control Style Question Revisited Pin
Gerry Schmitz30-Oct-23 12:20
mveGerry Schmitz30-Oct-23 12:20 
GeneralRe: Custom Control Style Question Revisited Pin
Kevin Marois31-Oct-23 8:01
professionalKevin Marois31-Oct-23 8:01 
QuestionUI Validation Problem Pin
Kevin Marois10-Oct-23 13:10
professionalKevin Marois10-Oct-23 13:10 
AnswerRe: UI Validation Problem Pin
Richard Deeming10-Oct-23 22:13
mveRichard Deeming10-Oct-23 22:13 
GeneralRe: UI Validation Problem Pin
Kevin Marois12-Oct-23 7:25
professionalKevin Marois12-Oct-23 7:25 
GeneralRe: UI Validation Problem Pin
Richard Deeming12-Oct-23 21:34
mveRichard Deeming12-Oct-23 21:34 
AnswerRe: UI Validation Problem Pin
Gerry Schmitz12-Oct-23 8:52
mveGerry Schmitz12-Oct-23 8:52 
GeneralRe: UI Validation Problem Pin
Kevin Marois12-Oct-23 14:54
professionalKevin Marois12-Oct-23 14:54 
GeneralRe: UI Validation Problem Pin
Gerry Schmitz12-Oct-23 19:12
mveGerry Schmitz12-Oct-23 19:12 
GeneralRe: UI Validation Problem Pin
Kevin Marois16-Oct-23 12:50
professionalKevin Marois16-Oct-23 12:50 
QuestionUI Validation Questions Pin
Kevin Marois29-Sep-23 15:54
professionalKevin Marois29-Sep-23 15:54 
AnswerRe: UI Validation Questions Pin
Richard Deeming1-Oct-23 21:43
mveRichard Deeming1-Oct-23 21:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.