Я хочу сделать массив флажков в элементе управления scrollviewer в WPF

У меня есть список строк, и я хочу преобразовать его в элементы управления флажками в элементе управления scrollviewer, как? Любые идеи ? список состоит из курсов, и я хочу сделать его флажком, чтобы студент мог выбрать некоторые из них


person kartal    schedule 29.03.2011    source источник
comment
Покажите нам, что у вас есть в списке   -  person Stecya    schedule 29.03.2011


Ответы (3)


Часть 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"};
    }
}
person Stecya    schedule 29.03.2011

Подойдет ли вам список элементов управления с флажком, поскольку его элементы работают на вас?

Это часть кода 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>
person Viv    schedule 29.03.2011
comment
когда я добавляю в него элементы, он просто добавляет метки, а не флажок, можете ли вы отправить текст еще раз или обсудить, как это работает? - person kartal; 29.03.2011
comment
Убедились ли вы в правильности столбцов сетки? Метка могла быть помещена над флажком? Убедитесь, что их ширина столбца достаточна. Закомментируйте метку и посмотрите, отображается ли флажок. - person Viv; 29.03.2011
comment
Я скопировал код из своего проекта, где текст должен отображаться с другой стороны флажка. Я не мог сделать это с установленным флажком (или не мог узнать, как это сделать). - person Viv; 29.03.2011
comment
@Vivek - в этом случае вам просто нужно установить FlowDirection="RightToLeft" - person Stecya; 29.03.2011

Вам нужно привязать набор строк как ItemsSource к ListBox и установить ListBox.ItemTemplate в DataTemplate, который включает флажок.

Например, см. проблема выбора списка ListBoxItem в WPF.

person Jon    schedule 29.03.2011