通过xamarin绑定将当前模型传递给ConverterParameter

时间:2017-07-11 06:48:37

标签: xamarin binding xamarin.forms

在ListView的DataTemplate中编写ConverterParameter={Binding}会传递一个空的Xamarin.Forms.Binding对象而不是当前模型。

这是我的代码:

IsVisible="{Binding BindingContext.CardLoc, Source={x:Reference this} ,Converter={StaticResource MenuItemToIsVisibleReverseConverter} , ConverterParameter={Binding} "
除了ConverterParameter={Binding}

之外,

Everythings工作得很好

3 个答案:

答案 0 :(得分:0)

你必须通过引用传递:

<Element
      Attribute="{Binding Value,
      Converter={StaticResource YourConverter},
      ConverterParameter={x:reference CompareTo}}" />

答案 1 :(得分:-1)

我认为你需要通过放置.

来传递当前对象

所以它会是ConverterParameter={Binding .}

答案 2 :(得分:-3)

以下是将命令参数传递给viewmodel和view的方法。

<ContentPage.Content>
    <ListView ItemsSource="{Binding Contacts}" ItemTapped="OnItemTapped">
        <ListView.ItemTemplate>
            <DataTemplate>
                <TextCell 
                    Text="{Binding FirstName}" 
                    Detail="{Binding LastName}" 
                >
                    <TextCell.ContextActions>
                        <MenuItem 
                            Text="Apagar"
                            IsDestructive="true"
                            Command="{Binding Path=BindingContext.DeleteCommand, Source={x:Reference ContactView}}"
                            CommandParameter="{Binding .}"
                        />
                    </TextCell.ContextActions>
                </TextCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</ContentPage.Content>