C#等效于Xaml的CommandParameter =“{Binding。}”

时间:2018-05-23 13:05:29

标签: c# xaml xamarin mvvm xamarin.forms

我正在用C#编写一些用户界面代码。它有 ListView ItemSourceList<MyClass>。当我单击一个单元格时,我想将MyClass的整个对象传递给绑定的命令。

当我在XAML中开发它时,我遇到了CommandParameter =“{Binding。}”。这样做我能够发送整个对象。

 <Label.GestureRecognizers>
     <TapGestureRecognizer Command="{Binding BindingContext.MyId, Source={x:Reference MyList}}"
    CommandParameter="{Binding .}" />
    </Label.GestureRecognizers>

我想知道"{Binding .}"的等效c#。

3 个答案:

答案 0 :(得分:1)

花了几个小时的时间来应用各种排列和组合之后,这就是&#34;技巧&#34;这对我有用:

int[] x = new int[20];
int[] y = new int[x.Length];

Random rnd = new Random();

int counter = 0;

for (int i = 0; i < x.Length; i++)
{
    x[i] = rnd.Next(1, 30);

    if (x[i] % 2 != 0)
    {
        y[counter] = x[i];
        counter++;
    }
}

for (int i = 0; i < counter; i++)
{
    Console.WriteLine(y[i]);
}

我认为微软必须为Xamarin表单提供更好的文档,因为并非所有开发人员都在使用XAML。此外,大多数文档都没有MVVM。

答案 1 :(得分:0)

以下是如何使用C#

CommandParameterProperty的{​​{1}}绑定到Label TapGestureRecognizer属性的示例
Text

答案 2 :(得分:0)

"{Binding .}"只等于new Binding(".")。但是CommandParameter="{Binding .}"等于`tapGestureRecognizer.SetBinding(TapGestureRecognizer.CommandParameterProperty,new Binding(“。”))。