Hello,
Unfortunately what you are doing is probably the only way. Or alternatively to change our RelayCommandT<int> to be a RelayCommandT<object>. And in your command handler logic see if the paramter is of the type you know the command handles. If so, cast it and continue. You'd be excluding the second type param you have in your current workaround. That's slightly less work in general.