使用showdialog()显示子窗口时,父窗口上设置了什么属性?

时间:2014-02-11 13:18:44

标签: c# wpf triggers showdialog

我有一个自定义窗口,并且由于它有一个子窗口(通过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()时它们没有被设置。

1 个答案:

答案 0 :(得分:1)

没有这样的财产。请改用ComponentDispatcher.EnterThreadModalComponentDispatcher.LeaveThreadModal个活动。分别显示或关闭WPF模式对话框时会触发它们。