Bir Xamarin.Forms.Button
ürününü, Command
ürününe ViewModel ürününe CommandParameter
olarak aktarmak istiyorum. Bunu, kodun arkasındaki koddan nasıl elde edeceğimi biliyorum. ...Düğmeyi Xamarin.Forms Sayfasında XAML'den CommandParameter olarak nasıl geçiririm?
XAMLViewModel
<Button x:Name="myButton"
Text="My Button"
Command="{Binding ButtonClickCommand}"/>
XAML.cs
public partial class MyTestPage
{
public MyTestPage()
{
InitializeComponent();
myButton.CommandParameter = myButton;
}
}
(çoğu özellikleri kısalık için kaçırmış ile)
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; }
}
... AMA, XAML'nin kendisinde CommandParameter
bildirmek mümkün mü? Başka bir deyişle, parametreyi düğmenin kendisine ayarlayan bağdaştırma sözdizimi nedir?
btw Zaten CommandParameter="{Binding RelativeSource={RelativeSource Self}}"
denedim ve bu çalışmadı.
sayesinde
VM'nizde neden düğmeye ihtiyacınız var? –
Merhaba @AlexAnderson. Evet, ben de bu konuda çok istekli değilim. Xamarin.Forms'u mevcut bir Xamarin iOS projesine dahil ediyoruz. Sadece bir Xamarin.Form Sayfasından gösterilecek yerli bir UIPopoverController almanın yollarını deneyebilirsiniz. Popuplar için Forms desteği yoktur, bu yüzden şu anda etrafındaki yollara bakmak ve engellerden biri olan pop-up'ı gösteren UIElement'i bilmek zorundayım. Dediğim gibi ... hokey gibi hissediyor. Aşağıda önerilerinizi deneyeceğim. Teşekkürler –
Pop-up'lar için 'ContentPage.DisplayActionSheet (...)' uygulamasına göz atın; eğer eylem sayfası yeterli değilse, onu gösteren kodu tersine mühendislik uygulayabilirsiniz. Düğme referansının alınması yine de bundan UIButton referansını bulmayı gerektirecektir. Özel oluşturucu –