我有几个条件需要满足,以便允许用户编辑所选项目的详细信息。
这些条件是:
如果该项处于活动状态,则允许它们编辑它,而不管安全性级别如何。那里没问题。
如果该项目是不活动的:安全级别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>我还需要知道所选的Office何时更改。我本来希望监视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>这似乎起作用了。我的安全级别实际上是在模板选民中检查的。
不过,问题仍然是,只有当我在不活动的办公室和活动的办公室之间进行更改时,才会更新选定的医生。如果我选择和激活,那么一个活动的触发器不会再次开火.我已经将列表绑定到一个集合中,我需要让它可以被观察到吗?在我实现数据访问工具之前,它是正确工作的。
发布于 2010-12-17 23:11:07
就目前而言,我只是将isenabled数据库保存到了办公室的isactive中。它不漂亮,但现在起作用了。
https://stackoverflow.com/questions/3918479
复制相似问题