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.

Était-ce utile?

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!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top