UWP 앱에서 프로그래밍 방식의 적응 형 화면을 찾는 방법을 찾으려고하고 있지만 관련 아이디어를 얻을 수 없습니다.UWP 앱에서 프로그래밍 방식으로 화면을 적응시키는 방법은 무엇입니까?
0
A
답변
0
적응 형 트리거는 응용 프로그램의 크기에 따라 레이아웃을 변경하는 데 가장 적합한 솔루션입니다. 예를 보려면 https://www.microsoft.com/en-gb/developers/articles/week03aug15/designing-with-adaptive-triggers-for-windows-10/을 참조하십시오.
개의 버튼에 대한 간단한 예 : 앱 600 개 픽셀보다 넓은
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="Narrow">
</VisualState>
<VisualState x:Name="Wide">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="600" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="TestButton2.Visibility" Value="Visible" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<StackPanel>
<Button x:Name="TestButton" Content="Test button" />
<Button x:Name="TestButton2" Content="Test button" Visibility="Collapsed" />
</StackPanel>
</Grid>
되면 번째 버튼이 표시 될 것이다.
다른 방법
당신은 사용자가 페이지 크기를 조정 때마다 해고 된 Page
의 SizeChanged
이벤트를 사용하여 크기 변화에 반응에서 페이지의 레이아웃을 변경할 수 있습니다. 그러나 이것은 깨끗한 접근법이 아니며 내장 된 적응 형 트리거를 사용하면 훨씬 더 적합합니다.
//in the page's constructor wire-up the SizeChanged event
this.SizeChanged += MainPage_SizeChanged;
private void MainPage_SizeChanged(object sender, SizeChangedEventArgs e)
{
if (e.NewSize.Width < 768)
{
//some layout changes
}
else if (e.NewSize.Width < 1024)
{
//some layout changes
}
else
{
//etc.
}
}
수동 코드에서 페이지의 현재 VisualState
을 전환 할 수 있습니다.
먼저 XAML에서 일부 VisualStates
정의 :
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CustomGroup">
<VisualState x:Name="ShowButtonState" />
<VisualState x:Name="HideButtonState">
<VisualState.Setters>
<Setter Target="TestButton.Visibility" Value="Collapsed" />
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Button x:Name="TestButton" Content="Test button" />
</Grid>
을 그리고 코드의 상태를 전환 :
if (someCondition)
{
VisualStateManager.GoToState(this, "HideButtonState", false);
}
else
{
VisualStateManager.GoToState(this, "ShowButtonState", false);
}
관련 문제
- 1. 프로그래밍 방식으로 UWP 앱의 화면을 어둡게 만드는 방법
- 2. 화면을 프로그래밍 방식으로 덤프하는 방법은 무엇입니까?
- 3. 리눅스에서 프로그래밍 방식으로 화면을 분리하는 방법은 무엇입니까?
- 4. UWP : FlipView에서 콘텐츠를 래핑하는 방법은 무엇입니까? UWP-앱에서
- 5. iPad에서 배경 화면을 프로그래밍 방식으로 변경하는 방법
- 6. iPhone 화면을 프로그래밍 방식으로 잠그는 방법?
- 7. Android에서 화면을 프로그래밍 방식으로 잠급니다.
- 8. 화면을 프로그래밍 방식으로 제한 화면
- 9. 화면을 흑백으로 프로그래밍 방식으로 전환하십시오
- 10. UWP 앱에서 PDF 파일을 만드는 방법은 무엇입니까?
- 11. 프로그래밍 방식으로 안드로이드 화면을 끌 수 있습니까?
- 12. 안드로이드에서 프로그래밍 방식으로 "액세스 포인트 이름"화면을 여는 방법은 무엇입니까?
- 13. Oracle Virtual Box 시스템의 화면을 프로그래밍 방식으로 캡처하는 방법은 무엇입니까?
- 14. onFinished 콜백 함수에서 화면을 프로그래밍 방식으로 새로 고치는 방법은 무엇입니까?
- 15. iOS 10에서 키보드의 설정 화면을 프로그래밍 방식으로 여는 방법은 무엇입니까?
- 16. Lion을 사용하여 프로그래밍 방식으로 NSWindow 전체 화면을 만드는 방법은 무엇입니까?
- 17. 프로그래밍 방식으로 iPhone 화면을 암호로 잠글 수있는 방법은 무엇입니까?
- 18. 프로그래밍 방식으로 3 분 이상 안드로이드 화면을 녹화하는 방법은 무엇입니까?
- 19. 프로그래밍 방식으로 화면을 사전에 확인/해제하는 방법은 무엇입니까?
- 20. 프로그래밍 방식으로 외부 화면을 감지하고 설정합니까?
- 21. 음성 인식 설정 화면을 프로그래밍 방식으로 표시하는 방법
- 22. 프로그래밍 방식으로 다른 앱에서 요소보기
- 23. iPhone 앱에서 프로그래밍 방식으로 YouTube에 YouTube 비디오를 업로드하는 방법은 무엇입니까?
- 24. iOS 앱에서 Facebook 페이지를 프로그래밍 방식으로 "좋아"하는 방법은 무엇입니까?
- 25. iPhone 앱에서 .docx 파일을 프로그래밍 방식으로 만드는 방법은 무엇입니까?
- 26. App Engine의 앱에서 고정 페이지를 프로그래밍 방식으로 만드는 방법은 무엇입니까?
- 27. iPhone 앱에서 프로그래밍 방식으로 비디오를 편집하고 태그하는 방법은 무엇입니까?
- 28. 프로그래밍 방식으로 설치된 앱에서 구성표를 가져 오는 방법은 무엇입니까?
- 29. iphone 앱에서 배경 화면을 표시하는 방법은 무엇입니까?
- 30. iPhone 앱에서 시작 화면을 설정하는 방법은 무엇입니까?
프로그래밍 무엇을 적응 적 의미합니까? 코드에서 페이지 레이아웃을 변경 하시겠습니까? –
5 개의 버튼 컨트롤이 포함 된 페이지를 전체 화면 크기로 표시하는 것처럼 보이기를 원하지만, 하나의 버튼 만 표시하면 화면 크기가 줄어들어 어떻게 할 수 있습니까? – Azarudeen
이에 대한 가능한 모든 접근 방법으로 답변을 업데이트했습니다. –