在ListView的DataTemplate中编写ConverterParameter={Binding}
会传递一个空的Xamarin.Forms.Binding对象而不是当前模型。
这是我的代码:
IsVisible="{Binding BindingContext.CardLoc, Source={x:Reference this} ,Converter={StaticResource MenuItemToIsVisibleReverseConverter} , ConverterParameter={Binding} "
除了ConverterParameter={Binding}
之外,Everythings工作得很好
答案 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>