我想在WPF的滚动查看器控件中的数组复选框

我想在WPF的滚动查看器控件中的数组复选框

问题描述:

我有一个字符串列表,我想将它转换为scrollviewer控件中的复选框控件如何?有任何想法吗 ?列表包含课程,我希望将其设置为复选框,以便学生可以选择其中的一些我想在WPF的滚动查看器控件中的数组复选框

+1

向我们展示你在列表 – Stecya 2011-03-29 17:25:10

+0

我编辑我的问题 – kartal 2011-03-29 17:32:44

XAML部分:

<ScrollViewer> 
     <ListBox ItemsSource="{Binding .}"> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <CheckBox Content="{Binding Path=.}" /> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
    </ScrollViewer> 

代码隐藏部分:

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     DataContext = new string[] {"course1", "course2"}; 
    } 
} 

将复选框作为其项目的列表框控件是否适合您?

这是我的一个复选框列表写了WPF XAML代码的一部分:

 <ListBox Name="CheckBoxDataListBox"> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Grid Width="Auto" Height="20" Margin="0"> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="30"/> 
          <ColumnDefinition Width="*"/> 
         </Grid.ColumnDefinitions> 
         <Grid Grid.Column="0"> 
          <CheckBox HorizontalAlignment="Center" Padding="0" DataContext="{Binding}" VerticalAlignment="Center" IsChecked="{Binding IsSelected}"></CheckBox> 
         </Grid> 
         <Label Name="SelectLabel" Grid.Column="1" Padding="0" DataContext="{Binding}" Content="{Binding Value}"></Label> 
        </Grid> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
+0

当我把它添加的项目,它只是添加标签而不是复选框你可以再次发文或讨论它的工作原理吗? – kartal 2011-03-29 17:58:17

+0

你确定你的网格列是否正确?该标签可能已放置在复选框控件上?确保它们的列宽足够大。注释掉标签并查看是否显示复选框。 – Viv 2011-03-29 18:22:24

+0

你为什么需要标签?复选框可以显示文字 – Stecya 2011-03-29 18:23:57

您需要串的集合捆绑作为ListBoxItemsSource并设置ListBox.ItemTemplateDataTemplate包括复选框。例如,参见WPF ListBoxItem selection problem