Список WPF с флажками, множественная проверка

У меня есть список WPF с добавленными флажками, и на данный момент он выглядит так: WPF checkbox

Чтобы выбрать все различные элементы, мне нужно установить каждый флажок один за другим или выбрать все (для чего у меня есть отдельная кнопка). Но если я хочу выбрать только половину, это будет болезненно.

Я бы хотел иметь возможность щелкнуть один, удерживать Shift, щелкнуть другой, а затем установить флажок рядом с одним из них, чтобы переключить все эти выбрано. Я думаю, Windows Forms позволяет это довольно легко, но я не уверен, что делать в WPF? На данный момент я настроил его, чтобы разрешить выбор только по одному (выбор ничего не значит, все дело в проверках).

В идеале у меня тоже было бы это, поэтому выбор чего-то проверяет это (т.е. вместо того, чтобы выбирать маленький флажок, вы можете щелкать слова), но я думаю, что это может быть сложно сделать с моей функцией shift + select.

    <Window.Resources>
    <DataTemplate x:Key="ListBoxItemTemplate" >

        <WrapPanel>
            <CheckBox Focusable="False" IsChecked="{Binding Selected}" VerticalAlignment="Center" />
            <ContentPresenter Content="{Binding Name, Mode=OneTime}"  Margin="2,0" />
        </WrapPanel>

    </DataTemplate>

</Window.Resources>

<ListBox Margin="10" HorizontalAlignment="Stretch" Name="lbSheets" 
                 VerticalAlignment="Stretch" Width="Auto" Grid.Row="1" MinWidth="321"
                 MinHeight="40" HorizontalContentAlignment="Left" 
                 ItemTemplate="{StaticResource ListBoxItemTemplate}" VerticalContentAlignment="Top" Background="#FFDCEBEE" SelectionMode="Single">

</ListBox>

Надеюсь, все это имеет смысл - как лучше всего сделать это в WPF?

7
задан RodH257 28 February 2011 в 01:23
поделиться