2012-04-28 90 views
0

在我的WP7的應用程序,我有這樣的XAML我ListPicker: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> 

而這個C#代碼隱藏:

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,什麼都不會發生。我不能從其他選項中選擇。

+0

爲什麼這是一個問題,你得到的第一個元素被選中?用戶可以在此之後設置選定的項目,或者您可以從代碼中設置它?或者我缺少別的東西,你的listpicker.Items包含多少個元素? :) – BigL 2012-04-28 13:00:23

+0

@BigL抱歉忘了添加我正面臨的問題。編輯並添加最後一句。 – 2012-04-28 13:04:58

回答

0

我想我知道什麼是問題,但我不確定,所以你必須先測試它。 ListPickersItemTemplate只是一個TextBlock,我認爲它應該放在Stackpanel之內。

看看下面的鏈接。

Working With The WP7 ListPicker

+0

我希望這很簡單,但沒有任何區別。無論如何,我都添加了StackPanel並編輯了上面的代碼以添加該代碼。 – 2012-04-29 06:07:28

+2

所以我想出了這個問題!這是代碼沒有粘貼在這裏。基本上,我在ListPicker後面有一個控件,因爲我沒有指定頁邊距,所以它重疊了ListPicker,所以我實際上單擊了ScrollViewer,而不是ListPicker。我最初在這裏發佈的代碼沒有任何問題。 -.- – 2012-04-29 07:15:01

+0

@AliAlmohsen有時會發生這種情況。 :D – BigL 2012-04-29 19:24:58

0

我想我知道是什麼問題,但我不知道,所以你必須先進行測試。 ListPickers ItemTemplate只是一個TextBlock,我認爲它應該放在一個Stackpanel中。

看看下面的鏈接。

使用WP7 ListPicker

+0

芽我看不到你可能想解決的問題 – Wolf 2014-02-05 06:52:51