La liaison de données avec le numéro ListPicker
-
25-09-2019 - |
Question
Je suis en train de lier les données à partir de LINQ xml dans le stockage isolé. Les modèles de données (ItemTemplate et FullModeItemTemplate) fonctionnent très bien et ne montrent que la valeur enregistrée dans l'élément ou attribut dans le document XML.
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding BindName}" Margin="0"/>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="16,21,0,20">
<TextBlock Text="{Binding BindName}" Margin="16,0,0,0" FontSize="43" FontFamily="{StaticResource PhoneFontFamilyLight}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
Cependant, bien que sur le listpicker lorsqu'il est sélectionné, il semble utiliser ce nom, la valeur réelle détenue par le sélecteur de liste est:
appname.pagename + namestringusedwhensetting
Le nom de la chaîne vient d'où je l'ai mis, je présume. J'utilise cette méthode:
public class BindingSetter
{
string sValue;
public string SValueN
{
get { return sValue; }
set { sValue = value; }
}
}
Il est donc de retour:
appname.pagename + sValue
Je l'ai utilisé tout au long de ma demande de liaison et n'ont pas eu ce problème avant donc je suis un peu déconcerté.
Merci d'avance.
La solution
J'ai réussi à travailler dehors. Pour utiliser la valeur de l'élément sélectionné je:
((appname.PageName.ClassUsedToBindData)(ListPickerName.SelectedItem)).String
par exemple.
((calculator.MainPage.CalculateBinding)(FunctionSelector.SelectedItem)).Function
Espérons que cela aide quelqu'un qui se bat comme moi!