Otázka: Možno by bolo možné túto výzvu uviesť týmto spôsobom: Ako môžem prepojiť jednu vlastnosť na obsahovej stránke s globálne uloženou premennou v Xamarin Forms?
podrobnosti: Používam vzor MVVM. Mám navigačnú stránku obsahu (1 z 3 takýchto stránok) s objektom Picker, ktorý je dynamicky naplnený z collectionModel a uvedený model je čítaný / zapisovaný. Pokúšam sa zotrvať v zozname SelectedItem (alebo indexe, podľa toho, čo je najvhodnejšie) prostredníctvom všetkých 3 obsahových stránok tak, aby navigácia zo stránky na stránku obsahovala rovnakú položku (z pohľadu používateľa). Ako by som to mal urobiť?
Môžem nastaviť Picker.SelectedIndex ručne v prípade ContentPage_Appearing (). Radšej by som použil viazanie.
odpovede:
1 pre odpoveď č. 1Nasleduj tieto kroky:
Vytvorte statickú triedu takto:
public static class DataClass { public static int PickerSelectedIndex = 0; }
Pridajte
xmlns:local
vContentPage
na každej obsahovej stránke, napríklad takto:xmlns:local="clr-namespace:DataPersist"
Viazanie údajov pre ovládacie prvky na každej stránke s názvom Xaml:
<Picker x:Name="picker" SelectedIndex="{x:Static local:DataClass.PickerSelectedIndex}">
Funguje to takto: