2013-01-21 57 views
0

我正在嘗試使ListPicker控件包含一個級別列表,每個級別旁邊都有一個彩色正方形。這是我有:將顏色綁定到ListPicker

<toolkit:ListPicker Grid.Row="1" 
        x:Name="LevelList" 
        Header="Level" 
        ItemCountThreshold="0" 
        FontFamily="Segoe WP Light"> 
    <toolkit:ListPicker.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
     <Rectangle Fill="{Binding}" 
        Width="43" 
        Height="43" /> 
     <TextBlock Text="{Binding}" 
        Margin="12 0 0 0" /> 
     </StackPanel> 
    </DataTemplate> 
    </toolkit:ListPicker.ItemTemplate> 
    <toolkit:ListPicker.FullModeItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal" 
        Margin="16 21 0 20"> 
     <Rectangle Fill="{Binding}" 
        Width="43" 
        Height="43" /> 
     <TextBlock Text="{Binding}" 
        Margin="16 0 0 0" 
        FontSize="43" 
        FontFamily="{StaticResource PhoneFontFamilyLight}" /> 
     </StackPanel> 
    </DataTemplate> 
    </toolkit:ListPicker.FullModeItemTemplate> 
</toolkit:ListPicker> 

,並在C#中的一部分,我有

String[] Level= { "E1", "E2", "E3", "E4", "E5"}; 
    String[] colors = { "#FFE5AD1B", "#FF0050EF", "#FFE51400", "#FF008A00", "#FFAA00FF" }; 

    public TolonPk() 
    { 
     InitializeComponent(); 
     this.listaNivel.ItemsSource = Level; 
     this.listaNivel.ItemsSource = colors; 
    } 

我的問題是,我不知道如何將文本塊嚴格綁定到該級別String數組和矩形填充到顏色... 我可能錯過了簡單的東西,但我似乎無法得到它...

回答

0

如果工具包:ListPicker使用其ItemsSource像其他WPF ItemsControl子類,然後您需要在同一個lis中同時具有Level字符串和Color字符串噸。

製作一個小的結構/類,其中包含一個字符串級別和一個字符串的顏色。

public struct LevelAndColor 
{ 
    public String Level { get; set; } 
    public String Color { get; set; } 
} 

創建一些IEnumerable(List,ObservableCollection等),並使用level-color對的實例填充它。

在綁定,綁定像這樣:

<StackPanel Orientation="Horizontal"> 
    <Rectangle Fill="{Binding Color}" Width="43" Height="43"/> 
    <TextBlock Text="{Binding Level}" Margin="12 0 0 0"/> 
</StackPanel> 
+0

好吧,我得到了創建結構,我想,但我應該在哪裏,以箱子的陣列和填充呢? – iVikD

+0

沒關係!我得到它的工作,感謝您的幫助! – iVikD