首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将颜色绑定到ListPicker

将颜色绑定到ListPicker
EN

Stack Overflow用户
提问于 2013-01-22 05:39:38
回答 1查看 488关注 0票数 0

我正在尝试创建一个包含级别列表的ListPicker控件,每个级别旁边都有一个彩色方块。这就是我得到的:

代码语言:javascript
复制
<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#部分,我有

代码语言:javascript
复制
    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严格绑定到级别字符串数组,并将矩形填充绑定到颜色……我可能错过了一些简单的东西,但我就是不能理解...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-22 05:56:33

如果toolkit:ListPicker像其他ItemsControl子类一样使用它的ItemsSource,那么您需要将Level string和Color string放在同一个列表中。

创建一个小的struct/class,其中包含一个用于level的字符串和一个用于颜色的字符串。

代码语言:javascript
复制
public struct LevelAndColor
{
    public String Level { get; set; }
    public String Color { get; set; }
}

创建一些IEnumerable (列表、ObservableCollection等)并用您的色阶对实例填充它。

在绑定中,像这样绑定:

代码语言:javascript
复制
<StackPanel Orientation="Horizontal">
    <Rectangle Fill="{Binding Color}" Width="43" Height="43"/>
    <TextBlock Text="{Binding Level}" Margin="12 0 0 0"/>
</StackPanel>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14447721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档