Прошло много времени с тех пор, как я сделал VB, и я никогда не делал этого с WPF, но я думаю, что знаю, в чем ваша проблема.
При инициализации команды вы фактически не передаете параметр.
Когда я делаю это в c #, это выглядит так =>
_saveCommand = new RelayCommandWithParameter(
(param) =>
{
SaveIt((int)param);
},
// this line is the same as your commented out Me.CanSave
(param) => { return this.CanDisplaySelectedPolicy; });
Итак, вы можете видеть, что в выражении lamda я передаю параметр с именем param, который затем помещается в метод SaveIt.
Когда вы создаете новое действие, попробуйте вставить в него выражение lamda, как показано выше, чтобы вы могли передать параметр в метод SaveIt.