질문은 WPF: when I maximize my window, controls do not resize과 같으며 응답이 없습니다.컨트롤은 최대화되면 크기가 조정되지 않지만 드래그하여 크기가 조정될 때 수행되지 않습니다. - wpf
폼의 둘 이상의 가장자리에 연결된 일부 컨트롤이 포함 된 WPF 폼이 있습니다. 폼 크기의 비율로 컨트롤 크기를 조정하는 sizechanged 이벤트에 코드를 추가했습니다. 코드가 제대로 작동하고 컨트롤을 드래그하여 양식의 크기를 조절하면 컨트롤의 크기가 올바르게 조정됩니다.
폼이 최대화되면 컨트롤의 크기가 조정되지 않고 창 위쪽과 아래쪽에 연결된 컨트롤에 세로로 저장됩니다.
나는 statechanged 이벤트에 비슷한 코드를 추가했지만 아무런 효과가 없습니다. 나는 똑바로 시도했다 TextBox1.Width = 300;
그러나 이것은 한 번 maximized 크기를 바꾸지 않는다.
이상적으로 말하고자하는 것은 TextBox1.Width = Window.width/3; TextBox1.Margin = My_Margin;
입니다. 여기서 My_Margin은 왼쪽 여백을 1/3의 Window.Width로 설정합니다. 그래서 텍스트 상자가 창 중앙의 3 분의 1을 차지합니다.
편집 : GRID 메소드가 프로젝트의 시작에서부터 시작하는 방법 이었음을 이해합니다. 이 단계에서 C#을 사용하여 해결할 수있는 해결 방법이 있습니까?
편집 : 내가 가진 유일한 옵션처럼 보이는대로 실제 질문에 답하지 않더라도 가장 좋은 대답을 수락했습니다. 폼이 최대화되면 컨트롤의 크기를 조정할 수있는 방법이 있다는 것을 알고 있으므로 찾을 시간이 없으며 좋은 제안이 없습니다.
"크기를 조절하여 크기를 조절하는 sizechanged 이벤트에 코드를 추가했습니다." 이것은 의미가 없습니다. WPF는 강력한 레이아웃 시스템을 제공합니다. 여기에서 읽기 시작하십시오 : https://docs.microsoft.com/en-us/dotnet/framework/wpf/advanced/layout. 그리드를 컨테이너 요소로 사용하십시오. – Clemens
이제 Grid가 가장 좋은 방법이라는 것을 알았지 만 코드에서이 문제를 해결하고 양식을 다시 작성하지 않고이 문제를 처리 할 수 있기를 희망했습니다. 이것이 가능한가? – Ritchie
그 방향으로 어떤 노력을 멈추고 적절한 레이아웃을 사용하는 것이 좋습니다. 그것은 시간 낭비입니다. – Clemens