Добавление элемента в ItemControl, который не из привязки Source Source - PullRequest
0 голосов
/ 30 мая 2011

Я работаю над созданием списка флажков с первым флажком «SelectAll».Флажок SelectAll будет проверять или снимать все флажки в списке.Однако мой контрольный список привязан к источнику данных.Сейчас я хочу поместить все флажки, включая флажок selectAll, в одну и ту же оболочку, чтобы их можно было обернуть вместе в конце панели.

            <ContentControl Name="FilterContent">
            <WrapPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                <CheckBox Name="SelectedAll" MinWidth="100" Margin="2"
                            VerticalAlignment="Center" HorizontalAlignment="Left"
                            IsChecked="{Binding IsSelectAll, Mode=TwoWay}"
                            Content="{Binding Path=SelectAllText}">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="Click">
                            <cmd:EventToCommand Command="{Binding Path=OnClickCommand}"/>
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </CheckBox>
                <ItemsControl ItemsSource="{Binding StandardItems}"
                            Margin="2,5,2,-1"
                            BorderBrush="{x:Null}"
                            Background="Transparent"
                            Grid.ColumnSpan="2"
                            ScrollViewer.VerticalScrollBarVisibility="Hidden"
                            ScrollViewer.HorizontalScrollBarVisibility="Hidden">
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <WrapPanel Name="ItemsPanel" Orientation="Horizontal"/>
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>
                            <CheckBox Name="ItemCheckBox" 
                                    MinWidth="100" Margin="2"
                                    VerticalAlignment="Center" HorizontalAlignment="Left"
                                    IsChecked="{Binding Path=IsChecked, Mode=TwoWay}"
                                    Content="{Binding Path=Label}"/>
                        </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>
            </WrapPanel>
        </ContentControl>

Этот фрагмент кода не позволяет мне делатьчто в результате пользовательский интерфейс содержит только элементы внутри элемента управления, обернутые во вторую строку, но не учитывает все флажки в одной и той же обертке.Мне нужна помощь по добавлению флажка «SelectAll» в оболочку, которая используется itemscontrol.

Спасибо!

1 Ответ

0 голосов
/ 30 мая 2011

При загрузке элемента управления я бы добавил пустой StandardItem в список StandardItems, что будет означать «выбрать все». Когда я обрабатываю событие нажатия флажка, я проверяю, является ли элемент пустым, и использую его как вызов для «выбора всех»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...