我正在尝试创建一个包含级别列表的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;
}
我的问题是我不知道如何严格地将Textblock绑定到Level String数组并且矩形填充到颜色... 我可能错过了一些简单的东西,但我似乎无法得到它......
答案 0 :(得分:0)
如果toolkit:ListPicker像其他WPF ItemsControl子类一样使用ItemsSource,那么你需要在同一个列表中同时包含Level字符串和Color字符串。
创建一个包含level级别字符串和颜色字符串的结构/类。
public struct LevelAndColor
{
public String Level { get; set; }
public String Color { get; set; }
}
创建一些IEnumerable(List,ObservableCollection等)并用你的水平颜色对实例填充它。
在绑定中,像这样绑定:
<StackPanel Orientation="Horizontal">
<Rectangle Fill="{Binding Color}" Width="43" Height="43"/>
<TextBlock Text="{Binding Level}" Margin="12 0 0 0"/>
</StackPanel>