728x90
MDI 가 안되는 관계로 해당 윈도우를 Tab 에 보여주기 위해서 ...
우선 보여줄 곳에 TabControl 을 넣어주고
<TabControl x:Name="tabContent" />
1. Page를 보여주는 방법
(예제)
// 사용자가 만든 페이지 생성
Userpage pageN = new Userpage();
// 페이지를 담을 프레임을 만든다.
Frame tabFrame = new Frame();
tabFrame.Content = pageN;
// 프레임을 탭아이템의 콘텐츠로 설정한다.
TabItem tabItem = new TabItem();
tabItem.Name = "tabName";
tabItem.Header = "New Tab";
tabItem.Content = tabFrame;
// 탭 아이템을 탭에 넣어준다.
tabContent.Items.Add(tabItem);
// 추가한 텝을 선택해주지 않으면 화면에 보일지 않음.. 클릭해야 보이게 됨.
tabContent.SelectedItem = tabItem;
tabContent.Focus();
(샘플)
편집화면에서 item이 있다면 삭제한다.
<TabControl x:Name="tabControl_Main" HorizontalAlignment="Left" Height="597" Margin="10,63,0,0" VerticalAlignment="Top" Width="1000" SelectionChanged="tabControl_Main_SelectionChanged">
</TabControl>
private void Window_Loaded(object sender, RoutedEventArgs e)
{
// 사용자가 만든 페이지 생성
page_Extract page_extract = new page_Extract();
// 페이지를 담을 프레임을 만든다.
Frame tabFrame1 = new Frame();
tabFrame1.Content = page_extract;
// 프레임을 탭아이템의 콘텐츠로 설정한다.
TabItem tabItem1 = new TabItem();
tabItem1.Name = "tabName";
tabItem1.Header = "Extract";
tabItem1.Content = tabFrame1;
// 탭 아이템을 탭에 넣어준다.
tabControl_Main.Items.Add(tabItem1);
//----------------------------------------
// 사용자가 만든 페이지 생성
page_Process page_process = new page_Process();
// 페이지를 담을 프레임을 만든다.
Frame tabFrame2 = new Frame();
tabFrame2.Content = page_process;
// 프레임을 탭아이템의 콘텐츠로 설정한다.
TabItem tabItem2 = new TabItem();
tabItem2.Name = "tabName";
tabItem2.Header = "Process";
tabItem2.Content = tabFrame2;
// 탭 아이템을 탭에 넣어준다.
tabControl_Main.Items.Add(tabItem2);
}
private void btn_Extract_Click(object sender, RoutedEventArgs e)
{
tabControl_Main.SelectedIndex = 0;
tabControl_Main.Focus();
}
private void btn_Process_Click(object sender, RoutedEventArgs e)
{
tabControl_Main.SelectedIndex = 1;
tabControl_Main.Focus();
}
private void tabControl_Main_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int aa = tabControl_Main.SelectedIndex;
if (aa == 0)
{
Console.WriteLine("Extract");
}
if (aa == 1)
{
Console.WriteLine("Process");
}
}
2. UserControl 을 보여주는 방법
// 탭 아이템 생성
TabItem tabItem1 = new TabItem();
tabItem1.Name = "dsds2";
tabItem1.Header = "New Tab";
// content 영역에 사용자정의 컨트롤로 만든 걸 넣어준다.
tabItem1.Content = new UCtl.Exam.ctlExam();
tabContent.Items.Add(tabItem1);
tabContent.SelectedItem = tabItem1;
tabContent.Focus();
'개발언어 > WPF' 카테고리의 다른 글
[C#/WPF] ListView 클래스 : 항목 드래그 & 드롭 사용하기 (0) | 2022.08.22 |
---|---|
[WPF] ListView(listBox)에서 Drag Drop (0) | 2022.08.22 |