ListPicker не кликабельный

В моем приложении WP7 у меня есть этот XAML для моего ListPicker:

<toolkit:ListPicker HorizontalAlignment="Left" ExpansionMode="FullScreenOnly" Height="70" x:Name="ddLinks" VerticalAlignment="Top" Width="419" FullModeHeader="Category" SelectionChanged="ddLinks_SelectionChanged">
    <toolkit:ListPicker.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding linkCatName}" Name="lblLinkCat" />
            </StackPanel>
        </DataTemplate>
    </toolkit:ListPicker.ItemTemplate>
    <toolkit:ListPicker.FullModeItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding linkCatName}" Name="lblLinkCat" FontSize="48" />
            </StackPanel>
        </DataTemplate>
    </toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>

И этот код С# позади:

while (condition)
{
     // code to set value of the vars
     this.ddLinks.Items.Add(new LinkCats(linkCatName, linkCatAnchor, linksInCat));
}

И пара объектов:

public class LinkCats
{
    public string linkCatName { get; set; }
    public string linkCatAnchor { get; set; }
    public List<Links> linksInCat { get; set; }
    public LinkCats() { }

    public LinkCats(string pLinkCatName, string pLinkCatAnchor, List<Links> pLinksInCat)
    {
        this.linkCatName = pLinkCatName;
        this.linkCatAnchor = pLinkCatAnchor;
        this.linksInCat = pLinksInCat;
    }
}

public class Links
{
    public string linkName { get; set; }
    public string linkPath { get; set; }
    public Links() { }

    public Links(string pName, string pLink)
    {
        this.linkName = pName;
        this.linkPath = pLink;
    }
}

Когда страница загружается, она показывает первый добавленный элемент как выбранный элемент как в элементе управления, так и при отладке. Но если я нажму ListPicker, ничего не произойдет. Я не могу выбирать из других вариантов.


person Ali Almohsen    schedule 28.04.2012    source источник
comment
И почему это проблема, что вы получаете первый элемент как выбранный? После этого пользователь может установить выбранный элемент, или вы можете установить его из кода? Или я что-то упустил, сколько элементов содержит ваш listpicker.Items? :)   -  person BigL    schedule 28.04.2012
comment
@BigL извините, забыл добавить проблему, с которой я столкнулся. Отредактировал и добавил последнее предложение.   -  person Ali Almohsen    schedule 28.04.2012


Ответы (2)


Я думаю, что знаю, в чем проблема, но я не уверен, поэтому вы должны сначала проверить это. ListPickers ItemTemplate — это всего лишь один TextBlock, и я думаю, что его следует поместить внутрь Stackpanel.

Взгляните на ссылку ниже.

Работа с WP7 ListPicker

person BigL    schedule 28.04.2012
comment
Я бы хотел, чтобы это было так просто, но это не имело значения. Я все равно добавил StackPanel и отредактировал свой код выше, чтобы добавить это. - person Ali Almohsen; 29.04.2012
comment
Итак, я разобрался с проблемой! Это был код, который не был вставлен сюда. По сути, у меня был элемент управления ‹ScrollViewer› сразу после ListPicker, и, поскольку я не указал поле, он перекрывал ListPicker, поэтому я на самом деле щелкал ScrollViewer, а не ListPicker. В коде, который я разместил здесь изначально, не было ничего плохого. --- - person Ali Almohsen; 29.04.2012
comment
@AliAlmohsen иногда такое случается. :D - person BigL; 29.04.2012

Я думаю, что знаю, в чем проблема, но я не уверен, поэтому вы должны сначала проверить это. ListPickers ItemTemplate — это всего лишь один TextBlock, и я думаю, что его следует поместить внутрь Stackpanel.

Взгляните на ссылку ниже.

Работа с WP7 ListPicker

person Community    schedule 05.02.2014
comment
приятель, я не вижу ссылки, которую вы могли бы захотеть исправить - person Wolf; 05.02.2014