2012-04-16 52 views

回答

2

这里需要编写一个自定义列表是一个例子:

您需要包括ControlToolkit:

xmlns:ControlsToolkit="clr-namespace:System.Windows.Controls" 

和这里是代码:

<ListBox x:Name="listBox" SelectionMode="Multiple" 
    ItemContainerStyle="StaticResource ListBoxCheckedStyle}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <CheckBox Checked="{Binding YourPropertyPath}"/>    
       <TextBlock Text="{Binding Name}" Width="150" VerticalAlignment="Center"/> 
        <ControlsToolkit:Rating Height="50" Grid.Row="0" x:Name="rating" ItemCount="5"> 
      <ControlsToolkit:Rating.ItemsPanel> 
       <ItemsPanelTemplate> 
        <StackPanel Orientation="Horizontal" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/> 
       </ItemsPanelTemplate> 
      </ControlsToolkit:Rating.ItemsPanel> 
     </ControlsToolkit:Rating> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
    </ListBox> 

你可以从这里下载样本: DownloadSample

或点击此处查看详细信息: Sample site

你可以得到更详细的关于这些: CustomDataTemplateSelector WP7 Checked ListBox in different ways

+0

在你给出的代码中,我想要一个StarControl而不是Image,但它不会来。 – Shan 2012-04-16 06:00:32

+0

StarControl不可见。复选框和文本正常显示。 – Shan 2012-04-16 08:20:21

1

设置ItemTemplate

<ListBox> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
     <CheckBox Checked="{Binding YourPropertyPath}"/> 
     <ns:StarControl/> 
     </StackPanel> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 
+1

这显示错误说明StarControl在Silverlight项目中不受支持。 – Shan 2012-04-16 05:31:16

+0

正确 - 这不是标准控件。您需要为这部分用户界面提供一个控件。 – ColinE 2012-04-16 07:23:56

+0

@ColinE通过“源代码控制”,你的意思是喜欢自定义控件吗? – 2012-04-16 07:38:46