Проблема в чем: мне нужно передать команде параметр в виде Frame. Frame определён в коде XAML. Frame в коде XAML:
<StackPanel Grid.Row="0">
<Frame x:Name="MainFrame"/>
</StackPanel>
Сама команда:
public RelayCommand OpenNewPage
{
get
{
return _openNewPage ??
(_openNewPage = new RelayCommand(obj =>
{
Frame frame = obj as Frame;
frame.Content = new TESTPAGE();
}));
}
}
Команда вызывается нажатием на кнопку:
<Button Content="TEST IT!" Command="{Binding OpenNewPage}" CommandParameter="MainFrame"/>

Frameвы нарушаете смысл MVVM. – Bulson Nov 09 '19 at 14:54Frame'у вообще не место в нормальном WPF приложение, особенно в том, которое строится по принципу MVVM (ИМХО). Если вам нужен разный контент, то используйте ContentPresenter, который идеально подходит под MVVM подход. – EvgeniyZ Nov 09 '19 at 15:02