3 回答
TA贡献1804条经验 获得超2个赞
我解决了它如下
<Label Text="{Binding TimerValue, TargetNullValue='00:00', FallbackValue='00:00', StringFormat='{0:mm\\:ss}'}"
BindingContext="{Binding Source={x:Reference MyPage}, Path=BindingContext}">
绑定错误的原因,BindingContext必须是BindableObject。 BindingContext是可绑定对象,它又引用ViewModel对象,并且Label.Text必须是BindableProperty可绑定对象。当我引用它时Text={Binding ViewModel.TimerValue,它试图在中找到可绑定属性,Mypage但是ViewModel它只是一个公共属性,而不是 Bindable 对象BindingContext = ViewModel将其转换为 Bindable 对象,因此我不得不对 Source 使用这种方式,而 Text 只是调用该引用的 bindingcontext 的路径
感谢所有的建议!非常感谢这个社区的及时响应!
TA贡献1801条经验 获得超8个赞
迟到的答案,但可能会对某人有所帮助。如果您在后面的代码中编写布局。您可以以这种方式将上下文绑定到源视图模型上下文。我将一个按钮绑定到视图模型中的命令。
btn.SetBinding(Button.CommandProperty, new Binding("BindingContext.YourCommand", source: YourListView));
btn.SetBinding(Button.CommandParameterProperty, ".");
TA贡献1808条经验 获得超4个赞
两步..
为您的父视图提供一个引用名称
x:Name="viewName"
(绑定到 ViewModel 的视图)绑定如下:
"{Binding BindingContext.MenuTapCommand, Source={x:Reference viewName}}"
这行得通。
- 3 回答
- 0 关注
- 161 浏览
添加回答
举报