Подсветка подгруппы WPF - PullRequest
       7

Подсветка подгруппы WPF

0 голосов
/ 22 ноября 2011

Я создаю инструмент для одновременного редактирования нескольких объектов базы данных, и мне любопытно узнать мнение ваших ребят о схеме выделения.
В моем ViewModel у меня есть коллекция Juris изJurisdictions, которые связаны с ЛЮБЫМИ элементами, выбранными пользователем для редактирования.У меня также есть подгруппа юрисдикций, которыми поделились ВСЕ выбранные пункты, «CommonJuris».У меня такой вопрос: существует ли простой способ, которым я могу заполнить ListBox полной коллекцией и выделить элементы, которые есть в под-коллекции?
В данный момент у меня есть свойство bool, IsCommon, в моемJurisdiction Model.Я действительно не хочу этого в Model, но лучшего решения пока не нашел.Jurisdiction не имеет ViewModel, так как это будет единственное в нем.

Вот мой XAML для самого ListBox:

<ListBox Grid.Row="1" Grid.Column="2" ItemContainerStyle="{StaticResource JuriAndTT}"
      ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
      HorizontalContentAlignment="Stretch"
      ItemsSource="{Binding Juris}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Name}"/>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

И стиль:

   <Style TargetType="{x:Type ListBoxItem}" x:Key="JuriAndTT">
        <Style.Triggers>
            <DataTrigger Binding="{Binding IsCommon}" Value="True">
                <Setter Property="Background" Value="PowderBlue"/>
                <Setter Property="Foreground" Value="Black"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>

1 Ответ

2 голосов
/ 22 ноября 2011

Я думаю, что вы ответили на это сами - вы не создали модель представления, потому что у нее было бы только одно свойство; вместо этого вы загрязнили свою модель этим свойством.

Вы должны взвесить их и определить, удобнее ли вам использовать IsCommon в модели или затраты на создание модели представления.

Есть несколько других подходов, которые вы можете использовать, с творческим использованием прикрепленных свойств или конвертеров, но они будут более замысловатыми и сложными, чем просто реализация модели представления.

...