Frage

I'm using Caliburn.Micro and the LongListSelector. Because binding SelectedItem is a problem i'm create a Custom class

public static readonly DependencyProperty SelectedItemProperty = DependencyProperty.Register("SelectedItem", typeof(object), typeof(LongListSelector), new PropertyMetadata(null, OnSelectedItemChanged));

Problem is, after returning to the list, when I click the same item again, it is already selected and not works.

I'm used a TAP event instead SelectionChanged and it Works but in my longlistselector i use a Grouping and Tap event click if i tap on group.

Help me!

War es hilfreich?

Lösung

I Solved!! My problem was in a DependecyProperty declaration

private static void OnSelectedItemChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        var selector = (LongListSelector)d;
        selector.SelectedItem = e.NewValue;
    }

NOT WORKS

WORKS This declaration

 private static void OnSelectedItemChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        var selector = (LongListSelector)d;
        selector.SetSelectedItem(e);
    }

    private void SetSelectedItem(DependencyPropertyChangedEventArgs e)
    {
        base.SelectedItem = e.NewValue;
    }

Andere Tipps

Setting SelectedItem=null in OnActivate in your ViewModel should do the trick.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top