2017-06-07 14 views
0

ViewModelstringプロパティにバインドされたTextBoxがあり、を持つButtonがあります。可能であれば、プロパティ自体をCommandParameterとして渡したいと思います。 これは可能ですか?Xamlはコマンドにバインドされたプロパティを受け取ります

XAMLの一部:

<TextBox Text="{Binding FilePath, UpdateSourceTrigger=PropertyChanged}"/> 
<Button Command="{Binding BrowseCommand}" CommandParameter="{Binding FilePath}" Content="..." /> 

そしてCommandはこのように見えますが、私はRelayCommand<?>の代わりに置くためにどのようなタイプを持っていますし、私はCommandParameterをバインドするために何が必要なのでしょうか?

public ICommand BrowseCommand => this.browseCommand ?? (this.browseCommand = new RelayCommand<?>(this.Browse)); 
+0

ファイルパスは、私が想定し、文字列型のでしょうか? – WBuck

+0

はい、それは値ではなくプロパティ自体を渡したかったのです(それが可能ならば) –

+0

これは不可能です。 {Binding}は* value *を解決します。 – mm8

答えて

1

あなたはMvvmLightからRelayCommand<T>クラスを使用している場合、これは動作するはずです:

public ICommand BrowseCommand => this.browseCommand ?? (this.browseCommand = new RelayCommand<string>(this.Browse)); 

private void Browse(string obj) 
{ 

} 
+0

あなたの答えをありがとう、私もそれを試して、それは動作しますが、 'obj'はプロパティ自体の値ではなくプロパティの値を保持します。私は 'Browse'の中で' obj'をプロパティとして使うことができるような方法を探していました(例えば、 'obj'をUIに表示すると –

+1

これはサポートされていません。 – mm8

+0

実際のプロパティを渡す方法はありませんか?はい、答えていただきありがとうございます。 –

関連する問題