■ WindowsUIView 클래스에서 타일 컨테이너를 사용하는 방법을 보여준다.
▶ MainForm.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
using System.Drawing; using System.Windows.Forms; using DevExpress.Utils; using DevExpress.XtraBars.Docking2010; using DevExpress.XtraBars.Docking2010.Views; using DevExpress.XtraBars.Docking2010.Views.WindowsUI; using DevExpress.XtraEditors; namespace TestProject { /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : XtraForm { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - MainForm() /// <summary> /// 생성자 /// </summary> public MainForm() { InitializeComponent(); Padding = new Padding(10); WindowsUIView windowsUIView = new WindowsUIView(); DocumentManager documentManager = new DocumentManager(); documentManager.ContainerControl = this; documentManager.View = windowsUIView; windowsUIView.QueryStartupContentContainer += windowsUIView_QueryStartupContentContainer; windowsUIView.QueryControl += windowsUIView_QueryControl; } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Private #region 윈도우즈 UI 뷰 시작 컨텐트 컨테이너 질의하기 - windowsUIView_QueryStartupContentContainer(sender, e) /// <summary> /// 윈도우즈 UI 뷰 시작 컨텐트 컨테이너 질의하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void windowsUIView_QueryStartupContentContainer(object sender, QueryContentContainerEventArgs e) { TileContainer tileContainer = new TileContainer(); tileContainer.Caption = "Tile Container"; tileContainer.Properties.ItemSize = 150; tileContainer.Properties.ShowGroupText = DefaultBoolean.True; Document document1 = new Document(); Document document2 = new Document(); Document document3 = new Document(); Document document4 = new Document(); Tile tile1 = new Tile(); Tile tile2 = new Tile(); Tile tile3 = new Tile(); Tile tile4 = new Tile(); tile1.Group = "Group 1"; tile1.Properties.ItemSize = TileItemSize.Medium; tile1.Document = document1; tile2.Group = "Group 1"; tile2.Properties.ItemSize = TileItemSize.Medium; tile2.Document = document2; tile3.Group = "Group 1"; tile3.Properties.ItemSize = TileItemSize.Medium; tile3.Document = document3; tile4.Group = "Group 2"; tile4.Properties.ItemSize = TileItemSize.Medium; tile4.Document = document4; tile1.Elements.Add(new TileItemElement { Text = "Document 1" }); tile2.Elements.Add(new TileItemElement { Text = "Document 2" }); tile3.Elements.Add(new TileItemElement { Text = "Document 3" }); tile4.Elements.Add(new TileItemElement { Text = "Document 4" }); tileContainer.Items.AddRange(new BaseTile[] { tile1, tile2, tile3, tile4 }); (sender as WindowsUIView).ContentContainers.Add(tileContainer); e.ContentContainer = tileContainer; } #endregion #region 윈도우즈 UI 뷰 컨트롤 질의하기 - windowsUIView_QueryControl(sender, e) /// <summary> /// 윈도우즈 UI 뷰 컨트롤 질의하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void windowsUIView_QueryControl(object sender, QueryControlEventArgs e) { WindowsUIView view = sender as WindowsUIView; int index = view.Documents.IndexOf(e.Document); LabelControl labelControl = new LabelControl(); labelControl.Dock = DockStyle.Fill; labelControl.AutoSizeMode = LabelAutoSizeMode.None; labelControl.Appearance.TextOptions.HAlignment = HorzAlignment.Center; labelControl.Appearance.TextOptions.VAlignment = VertAlignment.Center; labelControl.Appearance.Font = new Font("나눔고딕코딩", 24f, FontStyle.Bold); labelControl.Text = $"Document {index + 1} Content"; e.Control = labelControl; } #endregion } } |