ViewModel にをXamarin.Forms.Button
そのまま渡したいと思います。コードビハインドなどからこれを達成する方法を知っています...Command
CommandParameter
XAML (簡潔にするためにほとんどのプロパティが省略されています)
<Button x:Name="myButton"
Text="My Button"
Command="{Binding ButtonClickCommand}"/>
XAML.cs
public partial class MyTestPage
{
public MyTestPage()
{
InitializeComponent();
myButton.CommandParameter = myButton;
}
}
ビューモデル
public class MyViewModel : ViewModelBase
{
public MyViewModel()
{
ButtonClickCommand = new Command(
(parameter) =>
{
var view = parameter as Xamarin.Forms.Button;
if (view != null)
{
// Do Stuff
}
});
}
public ICommand ButtonClickCommand { get; private set; }
}
CommandParameter
...しかし、XAML自体で宣言することは可能ですか? 言い換えれば、パラメーターをボタン自体に設定するバインディング構文は何ですか?
<Button x:Name="myButton"
Text="My Button"
Command="{Binding ButtonClickCommand}"
CommandParameter="{[WHAT WOULD GO HERE]}"/>
ところで、私はすでに試しましたがCommandParameter="{Binding RelativeSource={RelativeSource Self}}"
、うまくいきませんでした。
ありがとう、