本文整理汇总了C#中System.Windows.Window.GetTransformFromDevice方法的典型用法代码示例。如果您正苦于以下问题:C# Window.GetTransformFromDevice方法的具体用法?C# Window.GetTransformFromDevice怎么用?C# Window.GetTransformFromDevice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Window
的用法示例。
在下文中一共展示了Window.GetTransformFromDevice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WindowManipulationService
internal WindowManipulationService(
Window window,
Func<double> getOpacity,
Func<WindowStates> getWindowState,
Func<WindowStates> getPreviousWindowState,
Func<Rect> getFloatingSizeAndPosition,
Func<DockEdges> getDockPosition,
Func<DockSizes> getDockSize,
Func<double> getFullDockThicknessAsPercentageOfScreen,
Func<double> getCollapsedDockThicknessAsPercentageOfFullDockThickness,
Func<MinimisedEdges> getMinimisedPosition,
Action<double> saveOpacity,
Action<WindowStates> saveWindowState,
Action<WindowStates> savePreviousWindowState,
Action<Rect> saveFloatingSizeAndPosition,
Action<DockEdges> saveDockPosition,
Action<DockSizes> saveDockSize,
Action<double> saveFullDockThicknessAsPercentageOfScreen,
Action<double> saveCollapsedDockThicknessAsPercentageOfFullDockThickness)
{
this.window = window;
this.getOpacity = getOpacity;
this.getWindowState = getWindowState;
this.getPreviousWindowState = getPreviousWindowState;
this.getDockPosition = getDockPosition;
this.getDockSize = getDockSize;
this.getFullDockThicknessAsPercentageOfScreen = getFullDockThicknessAsPercentageOfScreen;
this.getCollapsedDockThicknessAsPercentageOfFullDockThickness = getCollapsedDockThicknessAsPercentageOfFullDockThickness;
this.getMinimisedPosition = getMinimisedPosition;
this.getFloatingSizeAndPosition = getFloatingSizeAndPosition;
this.saveOpacity = saveOpacity;
this.saveWindowState = saveWindowState;
this.savePreviousWindowState = savePreviousWindowState;
this.saveFloatingSizeAndPosition = saveFloatingSizeAndPosition;
this.saveDockPosition = saveDockPosition;
this.saveDockSize = saveDockSize;
this.saveFullDockThicknessAsPercentageOfScreen = saveFullDockThicknessAsPercentageOfScreen;
this.saveCollapsedDockThicknessAsPercentageOfFullDockThickness = saveCollapsedDockThicknessAsPercentageOfFullDockThickness;
windowHandle = new WindowInteropHelper(window).EnsureHandle();
screen = window.GetScreen();
screenBoundsInPx = new Rect(screen.Bounds.Left, screen.Bounds.Top, screen.Bounds.Width, screen.Bounds.Height);
var screenBoundsTopLeftInDp = window.GetTransformFromDevice().Transform(screenBoundsInPx.TopLeft);
var screenBoundsBottomRightInDp = window.GetTransformFromDevice().Transform(screenBoundsInPx.BottomRight);
screenBoundsInDp = new Rect(screenBoundsTopLeftInDp.X, screenBoundsTopLeftInDp.Y,
screenBoundsBottomRightInDp.X - screenBoundsTopLeftInDp.X,
screenBoundsBottomRightInDp.Y - screenBoundsTopLeftInDp.Y);
CoerceSavedStateAndApply();
window.Closed += (_, __) => UnRegisterAppBar();
}