2014-07-17 7 views
1

나는 Excel 창 옆에 열어야하는 wpf 창을 가지고있다. Excel은 Interop.Excel로 열고 처리합니다. 내 창에는 Excel 창 크기를 설정해야하는 메서드가 있습니다.Excel 창의 크기를 어떻게 설정할 수 있습니까?

private void SetLayout() 
     { 
      Top = 0; 
      Left = 0; 
      Height = SystemParameters.WorkArea.Height; 
      ((ConfiguratorWindowViewModel) DataContext).Manager.App.Height = 
       SystemParameters.WorkArea.Height; 
      ((ConfiguratorWindowViewModel) DataContext).Manager.App.Left = Width; 
      ((ConfiguratorWindowViewModel) DataContext).Manager.App.Width = SystemParameters.WorkArea.Width - Width; 
     } 

내 ViewModel에는 열려있는 Excel 응용 프로그램 (Office.Interop.Excel.Application)을 다시 제공하는 관리자가 있습니다. 높이, 위, 내 wpf 창의 .. 설정할 수 있으며 제대로 작동하지만 Excel 창에서 작동하지 않습니다. 둘은 전체 화면을 함께 채울 수 있도록 내 wpf 창 옆에있는 Excel 창의 크기를 어떻게 설정할 수 있습니까?

편집 :

나는이 시도했지만 그것도 작동하지 않습니다 : 내가 그것을 하드 코딩 할 때

((ConfiguratorWindowViewModel) DataContext).Manager.App.WindowState = Microsoft.Office.Interop.Excel.XlWindowState.xlNormal; 
((ConfiguratorWindowViewModel) DataContext).Manager.App.ActiveWindow.Height = Screen.PrimaryScreen.Bounds.Height; 
((ConfiguratorWindowViewModel) DataContext).Manager.App.ActiveWindow.Width = Screen.PrimaryScreen.Bounds.Width - Width; 

모두 같은 .Height=800;을 다른 값으로하지만 올바른로 높이를 설정합니다 그것은 또한 작동하지 않습니다.

불행히도 나는 어떻게 보이는지 보여줄 이미지를 게시 할 수 없습니다.

편집 :

질문이 하나 (How do I change another program's window's size?)와 동일하지 않습니다. 아 "외국"응용 프로그램의 크기를 변경하고 싶지 않습니다.

답변

3

응용 프로그램이라는 변수에 응용 프로그램이 저장되어 있다고 가정 해 보겠습니다. 그러면 다음과 같이 할 수 있습니다.

App.WindowState = Microsoft.Office.Interop.Excel.XlWindowState.xlNormal; 
App.ActiveWindow.Height = Screen.PrimaryScreen.Bounds.Height; 
App.ActiveWindow.Width = Screen.PrimaryScreen.Bounds.Width; 

화면 클래스는 기본 화면의 해상도를 얻는 데 사용됩니다. 그것의 작동하지 않는 몇 가지 이유를 들어

App.WindowState = Microsoft.Office.Interop.Excel.XlWindowState.xlMaximized 
+0

:

당신은 아마 또한 그냥 창을 최대화 할 수있다. App.ActiveWindow.Height와 .Width에 올바른 값을 넣지 마십시오. 완전히 다른 값이 있습니다. – funtastisch

관련 문제