我有一个自定义窗口,并且由于它有一个子窗口(通过showdialog()显示),因此无法访问该窗口并希望将自定义样式应用于窗口。我假设trigger属性是“IsEnabled”,但是当调用showdialog()时,此属性不会设置为false。我也试过“可聚焦”并查看了属性列表,希望找到明显的解决方案。这导致我尝试绑定到“OwnedWindows.Count”的数据触发器,但这又不起作用!当然这应该很简单,我错过了什么?
尝试了触发器:
<Trigger Property="IsEnabled" Value="False">
<Trigger Property="Focusable" Value="False">
<DataTrigger Binding="{Binding Path=OwnedWindows.Count, RelativeSource={RelativeSource Self}}" Value="1" >
注意:当我手动将属性设置为 False 时,IsEnabled和Focusable都会执行所需的作业 - 所以我知道触发器有效,只是在调用ShowDialog()时它们没有被设置。
答案 0 :(得分:1)
没有这样的财产。请改用ComponentDispatcher.EnterThreadModal
和ComponentDispatcher.LeaveThreadModal
个活动。分别显示或关闭WPF模式对话框时会触发它们。