Forms在ListView的ViewCell中获取ViewModel作为BindingContext
我在FlowListView中添加了Forms在ListView的ViewCell中获取ViewModel作为BindingContext,listview,xamarin.forms,binding-context,Listview,Xamarin.forms,Binding Context,我在FlowListView中添加了DataTemplateSelector(与ListView基本相同) ... 我使用这个代码来获取绑定的单元格 button.SetBinding(button.CommandParameterProperty,“.”); 但是我想在ViewModel中使用一些变量,这些变量与DataTemplateSelector中的ContentView绑定。我试过这个代码,但不起作用 label.SetBinding(label.IsVisiblePropert
DataTemplateSelector
(与ListView
基本相同)
...
我使用这个代码来获取绑定的单元格
button.SetBinding(button.CommandParameterProperty,“.”);
但是我想在ViewModel
中使用一些变量,这些变量与DataTemplateSelector
中的ContentView
绑定。我试过这个代码,但不起作用
label.SetBinding(label.IsVisibleProperty,
“{Binding BindingContext.LabelVisibility,Source={x:Reference Page}}”);
如何在DataTemplateSellector
中的ViewModel
中获取可变的
label.SetBinding(Label.IsVisibleProperty, new Binding("BindingContext.LabelVisibility", source: this));
这应该行得通。你应该用“this”将“Page”传递给你的绑定。因此,您应该在创建ItemTemplate时设置绑定
lv.ItemTemplate = new DataTemplate(() =>
{
//....
label.SetBinding(Label.IsVisibleProperty, new Binding("BindingContext.LabelVisibility", source: this));
}
谢谢你的来信。我找到了解决方案
“{Binding ImageListVM.LabelVisibility,Source={StaticResource VMLocator}}”
。当我用你的代码替换时,它也能工作。