実行時に現在のビューを切り替えるコマンドがあります。私はこのように私のボタンには、このコマンドをバインドさ:CommandParametersをViewModelに渡すにはどうすればよいですか?
<Button Style="{StaticResource TextButton}" Command="{Binding ViewModel:MainViewModel.OpenItemCommand}" CommandParameter="{Binding Link}"/>
私は、コマンドへのリンク(現在選択されている記事のリンク)を渡したいです。私のコマンドは次のように定義されています。私のViewModelで
は、私はこれを持っている:
public ICommand OpenItemCommand
{
get
{
if (_openItemCommand == null)
{
_openItemCommand = new Command.Command(
p => true,
p => OpenItem(_HOW_DO_I_GET_THE_PARAMETER?_)
);
}
return _openItemCommand;
}
set
{
if (_openItemCommand != value)
{
_openItemCommand = value;
RaisePropertyChanged("OpenItemCommand");
}
}
}
private void OpenItem(Uri link)
{
throw new NotImplementedException();
}
私はExecuteメソッドにコマンドパラメータ(リンク)を渡す必要があるコマンドを作成する場合。しかし、どのように私はこれの価値を得るのですか? XAMLでCommandParameterを定義しましたが、アクセス方法はわかりません。
私は実際に膨大なウェブサイトを検索しましたが、本当に答えは見つかりません。
ありがとう、非常に良い:)私はXAMLが私のコマンドを見つけることができない問題があります。 ViewModelにPublic RelayCommandを作成しました。
ビューのDataContextをビューモデルに設定します。パブリックMyView(){InitializeComponent(); DataContext =新しいViewModel(); }。またはxamlでやってください。 – Phil