3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
我解決了它如下
<Label Text="{Binding TimerValue, TargetNullValue='00:00', FallbackValue='00:00', StringFormat='{0:mm\\:ss}'}"
BindingContext="{Binding Source={x:Reference MyPage}, Path=BindingContext}">
綁定錯(cuò)誤的原因,BindingContext必須是BindableObject。 BindingContext是可綁定對(duì)象,它又引用ViewModel對(duì)象,并且Label.Text必須是BindableProperty可綁定對(duì)象。當(dāng)我引用它時(shí)Text={Binding ViewModel.TimerValue,它試圖在中找到可綁定屬性,Mypage但是ViewModel它只是一個(gè)公共屬性,而不是 Bindable 對(duì)象BindingContext = ViewModel將其轉(zhuǎn)換為 Bindable 對(duì)象,因此我不得不對(duì) Source 使用這種方式,而 Text 只是調(diào)用該引用的 bindingcontext 的路徑
感謝所有的建議!非常感謝這個(gè)社區(qū)的及時(shí)響應(yīng)!

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
遲到的答案,但可能會(huì)對(duì)某人有所幫助。如果您在后面的代碼中編寫布局。您可以以這種方式將上下文綁定到源視圖模型上下文。我將一個(gè)按鈕綁定到視圖模型中的命令。
btn.SetBinding(Button.CommandProperty, new Binding("BindingContext.YourCommand", source: YourListView));
btn.SetBinding(Button.CommandParameterProperty, ".");

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
兩步..
為您的父視圖提供一個(gè)引用名稱
x:Name="viewName"
(綁定到 ViewModel 的視圖)綁定如下:
"{Binding BindingContext.MenuTapCommand, Source={x:Reference viewName}}"
這行得通。
- 3 回答
- 0 關(guān)注
- 198 瀏覽
添加回答
舉報(bào)