我有一個列表視圖與一個ItemsSource的字符串列表,並且DataTemplate是一個條目單元格文本綁定到字符串。如果我單擊輸入單元格並開始輸入,我可以看到在輸入時進行的更改,但只要單擊ListView外部的輸入元素,我的更改就會丟失。Xamarin.Forms EntryCell第一次丟失值第一次單元失去焦點
<StackLayout Orientation="Horizontal">
<Label>Number of Players</Label>
<Entry Text="3" />
</StackLayout>
<ListView Header="Players" ItemsSource="{Binding Players}">
<ListView.ItemTemplate>
<DataTemplate>
<EntryCell Text="{Binding .}"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
在視圖模型我在這增加的初始元件的構造以下代碼:
Players = new List<string>();
Players.Add("test1");
Players.Add("test2");
我還定義在視圖模型
public List<string> Players { get; }
唯一用於運動員屬性發生的時間是我第一次點擊播放器標籤旁邊的輸入框。如果我點擊空白空間,我可以看到所選列表視圖項目的藍色邊框消失,但值仍然是我將其更改爲的值,但只要單擊該條目,列表視圖中條目單元格的值就會恢復爲他們的原始價值。
我覺得我在WPF中遇到過類似的事情,我只是通過將UpdateSourceTrigger = PropertyChanged添加到我的綁定中來做出響應。據我所知,這不是Xamarin.Forms中的事情(至少現在還沒有)。
任何想法如何保持輸入到列表視圖中的第一個值?
我正在處理的文件位於Xamarin.Forms Portable類庫中,我正在使用通用Windows(UWP)構建對其進行測試。
你試過雙向綁定了嗎? –
是的,它沒有工作。 –