wpf проверенный вопрос о поле списка - PullRequest
0 голосов
/ 28 ноября 2009

Я создаю отмеченный список со следующим шаблоном:

<Style x:Key="CheckBoxListStyle" TargetType="{x:Type ListBox}">
            <Setter Property="SelectionMode" Value="Multiple"></Setter>
            <Setter Property="ItemContainerStyle">
                <Setter.Value>
                    <Style TargetType="{x:Type ListBoxItem}" >
                        <Setter Property="Margin" Value="2" />
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="{x:Type ListBoxItem}">
                                    <CheckBox IsChecked="{Binding Path=xxxxxxxxxxx,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}">                                                                             <ContentPresenter></ContentPresenter>
                                    </CheckBox>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </Setter.Value>
            </Setter>
        </Style>

 <ListBox Style="{StaticResource CheckBoxListStyle}" ItemsSource="{Binding Path=Configuration.ProductTypes}" DisplayMemberPath="ProductName" />  

Моя проблема в том, что я получаю все типы продуктов из базы данных и связываю их с источником элементов списка. У меня есть класс продукта, который содержит список типов продуктов, к которым он принадлежит. Мне нужно установить свойство IsChecked флажков на основе списка типов продуктов продукта. Обычно мне нужно установить один или несколько флажков свойства IsChecked. Товар может принадлежать одному или нескольким типам товаров. и режим выбора является множественным выбором. если пользователь установит флажки для дополнительных типов продуктов ... мне нужно получить список всех проверенных списков и сохранить их в базе данных ... это приложение MVFM WPF ... любые идеи по решению этого сценария ...
в шаблоне управления, каким будет путь IsChecked?

Спасибо Rey

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

Ответы [ 2 ]

2 голосов
/ 16 декабря 2009

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

Создайте новый класс (ViewModel), который содержит два контекста данных (Model1 и Model2) и привязку данных к нему, также известный как шаблон MVVM.

0 голосов
/ 28 ноября 2009

Класс ProductType, который вы привязываете к ListBox, должен иметь свойство чтения / записи с именем IsSelected или IsChecked, к которому вы можете привязаться. Затем вместо использования ControlTemplate используйте DataTemplate в ListBox.ItemTemplate и привяжите свойство IsChecked CheckBox к этому свойству.

...