第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將列表視圖項(xiàng)目綁定到頁面的 Viewmodel?

如何將列表視圖項(xiàng)目綁定到頁面的 Viewmodel?

C#
LEATH 2023-05-13 15:51:15
我想將項(xiàng)目綁定ListView到 ViewModel 中的屬性而不是 ItemsSource,但在嘗試后Binding Source={x:Reference Name=ThisPage} Path=ViewModel.TimerValue它不起作用。我做錯(cuò)了什么。無法識(shí)別我試過設(shè)置:Text="{Binding Path=TimerValue, TargetNullValue='00:00', FallbackValue='00:00', StringFormat='{0:mm\\:ss}', Source={x:Reference Name=ThisPage}}"ViewModel 確實(shí)實(shí)現(xiàn)了 INotifyPropertyChanged 并引發(fā)了 PropertyChanged 事件頁面標(biāo)題 - 參考<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"             xmlns:d="http://xamarin.com/schemas/2014/forms/design"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"             mc:Ignorable="d"             x:Class="App3.Views.MyPage"             x:Name="ThisPage"><ListView x:Name="listView" ItemsSource={Binding Items}>                <ListView.ItemTemplate>                    <DataTemplate>                        <ViewCell>                            <Label Text="{Binding Path=TimerValue, TargetNullValue='00:00', FallbackValue='00:00', StringFormat='{0:mm\\:ss}', Source={x:Reference Name=ThisPage}}" />                        </ViewCell>                    </DataTemplate>                </ListView.ItemTemplate>            </ListView>代碼隱藏 private MyViewModel ViewModel; public MyPage () {     InitializeComponent ();     ViewModel = new MyViewModel ();     this.BindingContext = ViewModel; }
查看完整描述

3 回答

?
慕婉清6462132

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)!


查看完整回答
反對(duì) 回復(fù) 2023-05-13
?
蝴蝶刀刀

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, ".");


查看完整回答
反對(duì) 回復(fù) 2023-05-13
?
炎炎設(shè)計(jì)

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊

兩步..

  1. 為您的父視圖提供一個(gè)引用名稱x:Name="viewName"(綁定到 ViewModel 的視圖)

  2. 綁定如下: "{Binding BindingContext.MenuTapCommand, Source={x:Reference viewName}}"

這行得通。


查看完整回答
反對(duì) 回復(fù) 2023-05-13
  • 3 回答
  • 0 關(guān)注
  • 198 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)