programing

여러 Xaml 파일로 WPF 인터페이스 분할

powerit 2023. 4. 19. 00:34
반응형

여러 Xaml 파일로 WPF 인터페이스 분할

XAML을 사용하여 사용자 인터페이스를 작성하려고 합니다만, 파일이 급속히 커져서 작업하기 어려워지고 있습니다.여러 파일로 분할하는 가장 좋은 방법은 무엇입니까?

ComboBox 등의 요소의 내용을 다른 xaml 파일에 정의되어 있는 요소(단, 같은 VS 프로젝트)로 설정할 수 있으면 좋겠습니다.

감사해요.

UserControls를 정의함으로써 대규모 사용자 인터페이스를 분할할 수 있습니다.

솔루션 트리를 오른쪽 클릭하여 [Add]-> [ New Item ... ]를 선택합니다.[사용자 제어(User Control)]를 선택합니다.이것은 일반적인 방법으로 설계할 수 있습니다.

그런 다음 네임스페이스 선언을 사용하여 XAML에서 사용자 컨트롤을 참조할 수 있습니다.창에 사용자 제어를 포함한다고 가정해 보겠습니다.다음 예제에서는 "YourCompany"라는 네임스페이스에 "Foo"라는 사용자 제어를 추가했습니다.컨트롤":

<Window x:Class="YourCompany.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:Controls="clr-namespace:YourCompany.Controls">

  <Controls:Foo ... />

특정 예에서는 사용자 컨트롤 내의 데이터를 표시하는 DataTemplate를 정의하여 콤보 상자에서 사용자 컨트롤을 사용할 수 있습니다.

ResourceDictionary를 사용하여 XAML 파일을 분할할 수 있습니다.ResourceDictionary를 사용하여 다른 파일을 병합할 수 있습니다.

<Page.Resources>
  <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
      <ResourceDictionary Source="myresourcedictionary.xaml"/>
      <ResourceDictionary Source="myresourcedictionary2.xaml"/>
    </ResourceDictionary.MergedDictionaries>
  </ResourceDictionary>
</Page.Resources>

ResourceDictionary에서 기본 XAML 파일이 작아지도록 요소에서 사용할 수 있는 스타일을 선언할 수도 있습니다.

더 작은 XAML 파일을 얻을 수 있는 또 다른 방법은 메인 앱에서 사용할 컨트롤을 정의하는 것입니다.

또한 페이지를 작성할 수 있습니다.UserControl.aPage에서 호스트 할 수 있습니다.Window또는 프레임별.페이지와 사용자 컨트롤의 장단점을 검색합니다.사용자의 요구에 가장 적합한 내비게이션에 대한 요구 사항에 따라 달라집니다.

다음은 프레임에서 페이지를 사용하는 예입니다.

스타일 및 사용자 컨트롤을 사용합니다.인터페이스를 작은 부분으로 분할하여 다른 xaml 파일로 코드화합니다.예:

<Window>
<VeryBigControl>
<VeryBigControl.Style>
... <!--very long style-->
</VeryBigControl.Style>
.. <!--content of very big control-->
</VeryBigControl
</Window>

3개의 xaml 파일로 나눕니다.
Window.xaml - 이것은 Window가 됩니다.
VeryBigControl.xaml - UserControl이 됩니다.
VeryBigControlStyle.xaml - 리소스 사전이 됩니다.
등:)

언급URL : https://stackoverflow.com/questions/224765/splitting-wpf-interface-across-multiple-xaml-files

반응형