MultiDataTrigger с диапазоном значений - PullRequest
0 голосов
/ 12 октября 2010

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

условия:

если элемент активен, они являютсяразрешено редактировать независимо от уровня безопасности.Никаких проблем там нет.

если элемент неактивен: пользователи с уровнем безопасности выше 50 могут редактировать его, пользователи с уровнем безопасности ниже 50 могут просматривать только его

В настоящее время я использую мультидатриггер для этого:

<MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding Active,Converter={StaticResource DebugConverter}}"
                                   Value="False" />
                        <Condition Binding="{Binding SelectedOffice}" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="ContentTemplate"
                            Value="{DynamicResource InActiveOfficeDataTemplate}" />
                </MultiDataTrigger>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding Active,Converter={StaticResource DebugConverter}}"
                                   Value="True" />
                        <Condition Binding="{Binding SelectedOffice}" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="ContentTemplate"
                            Value="{DynamicResource ActiveOfficeDataTemplate}" />
                </MultiDataTrigger>

Мне также нужно знать, когда меняется выбранный офис.Я надеялся контролировать PhysicianId, но я не знаю, что это за номер, только то, что он изменился.У меня есть свойство selectedoffice, к которому привязан список, но я полагаю, что мне нужно что-то сделать с устройством сбора данных, чтобы оно сработало.


ИЗМЕНЕНИЯ

<DataTrigger Binding="{Binding Active}"
                             Value="False">
                    <Setter Property="ContentTemplateSelector"
                            Value="{DynamicResource DoctorOfficesDataTemplateSelector}" />
                </DataTrigger>
                <DataTrigger Binding="{Binding Active,Converter={StaticResource DebugConverter}}"
                             Value="True">
                    <Setter Property="ContentTemplate"
                            Value="{DynamicResource ActiveOfficeDataTemplate}" />
                </DataTrigger>

Это кажетсяработатьУ меня есть уровень безопасности, на самом деле проверяемый в селекторе шаблонов.

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

1 Ответ

0 голосов
/ 18 декабря 2010

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

...