我正在使用Brads Dialog Presenter。如何設置Dialog Presenter中心屏幕?
它的偉大工程,但我只有1層的問題...
使得對話框顯示屏幕中心我不能得到它。
任何人都可以幫助我。
我正在使用Brads Dialog Presenter。如何設置Dialog Presenter中心屏幕?
它的偉大工程,但我只有1層的問題...
使得對話框顯示屏幕中心我不能得到它。
任何人都可以幫助我。
This converter 爲我工作。
在DialogPresenter.Generic.xaml
<controls:DragCanvas Name="DialogCanvas">
<Grid x:Name="Dialog" ...>
<Canvas.Top>
<MultiBinding Converter="{StaticResource CenterConverter}" ConverterParameter="top">
<Binding ElementName="DialogCanvas" Path="ActualWidth" />
<Binding ElementName="DialogCanvas" Path="ActualHeight" />
<Binding ElementName="Dialog" Path="ActualWidth" />
<Binding ElementName="Dialog" Path="ActualHeight" />
</MultiBinding>
</Canvas.Top>
<Canvas.Left>
...
</Canvas.Left>
有幾種方法可以讓對話框居中。
在DialogPresenter類,更新顯示()方法來設置window.WindowStartupPosition = WindowStartupLocation.CenterScreen。
編寫自定義TriggerAction並覆蓋Invoke以執行以下操作。
var window = Window.GetWindow(this.AssociatedObject); window.WindowStartupLocation.CenterScreen
然後將觸發器操作附加到觸發器部分中的ControlTemplate。你可以使用一個使用LoadedEvent的EventTrigger並調用你的TriggerAction。
注意:如果您有ExpressionBlend,它會將TriggerActions拖放到UI變得很容易,因爲它會爲您編寫EventTrigger部件。