Я хотел бы передать Xamarin.Forms.Button
в своем собственном Command
в качестве CommandParameter
моей ViewModel. Я знаю, как добиться этого из кода, например. ...
XAML (большинство свойств пропущено для краткости)
<Button x:Name="myButton"
Text="My Button"
Command="{Binding ButtonClickCommand}"/>
XAML.cs
public partial class MyTestPage
{
public MyTestPage()
{
InitializeComponent();
myButton.CommandParameter = myButton;
}
}
ViewModel
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}}"
, и это не сработало.
Спасибо,
ContentPage.DisplayActionSheet(...)
- если листа действий недостаточно, вы можете перепроектировать код, который его показывает. И для получения ссылки на кнопку все равно потребуется найти ссылку на UIButton. Вам будет лучше с настраиваемым рендерером - person Sten Petrov   schedule 18.09.2014