Frage

Ich habe einen Longlistenselektor wie das folgende Bild.jetzt möchte ich den Text des Elements erhalten, auf das der Benutzer getippt hat.Ich habe viel gesucht, aber keine Lösung gefunden;( achten Sie auf das Bild, bitte geben Sie einen Beispielcode an

http://amiryari.persiangig.com/image/stackoverflow-question.jpg

War es hilfreich?

Lösung

1) Verdrahten Sie das SelectionChanged-Ereignis auf der Langlistenelementsteuerung:

generasacodicetagpre.

2) Rufen Sie den ausgewählten Element aus der zusätzlichen Kollektion in der AuswahlchangeEdEventargs ab:

generasacodicetagpre.

3) Wenn Ihr Element ein Objekt ist, und der Text wird über eine Eigenschaft angezeigt, dann hätten Sie über die Eigenschaft Zugriff auf den Text über die Eigenschaft auf Ihrem Objekt:

generasacodicetagpre.

Wenn Ihre Liste an eine Liste von Saiten gebunden ist, wäre dies einfach der erste Element in der zusätzlichen Sammlung:

generasacodicetagpre.

Andere Tipps

Sie können immer auf die hören SelectionChanged ereignis und erhalten Sie die Zeichenfolge.Es gibt eine andere Möglichkeit, wenn Sie ein DataTemplate verwenden, um Ihre Elemente in der Liste zu formatieren.Erklären Tapped ereignis in DataTemplate wie folgt:

<DataTemplate>
    <StackPanel Orientation="Horizontal">
        <Image Source="{Binding ContactImage}"/>
        <TextBlock x:Name="NameTextBlock" Text="{Binding ContactName}" Tapped="NameTextBlock_Tapped"/>
    </StackPanel>
</DataTemplate/>

Jetzt in unserem Code:

private void LongListSelector_SelectionChanged(object sender, BlahBlah e)
{
     var tb = sender as Textblock;
     string cName = tb.Text; //This is the string you wanted.
     MessageBox.Show(cName);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top