WPF에서 다른 창을 호출 할 때 다른 창의 탭 전환을 지정하고 싶습니다.
하고 싶은 일
메인 윈도우에서 서브 윈도우를 열 때 서브 윈도우의 어느 탭을 열지 지정하고 싶습니다.
준비
메인 윈도우와 서브 윈도우를 준비합니다.
MainWindow.xaml<Window><!-- ここは省略 -->
<Grid>
<StackPanel Margin="20">
<Button Name="BtnA" Margin="20">SubWindow タブ AAA を開く</Button>
<Button Name="BtnB" Margin="20">SubWindow タブ BBB を開く</Button>
<Button Name="BtnC" Margin="20">SubWindow タブ CCC を開く</Button>
</StackPanel>
</Grid>
</Window>
SubWindow.xaml<Window><!-- 省略 -->
<Grid>
<TabControl Margin="20">
<TabItem Header="AAA" Name="AAA">
<StackPanel>
<TextBox Margin="50">タブAAAです</TextBox>
</StackPanel>
</TabItem>
<TabItem Header="BBB" Name="BBB">
<StackPanel>
<TextBox Margin="50">タブBBBです</TextBox>
</StackPanel>
</TabItem>
<TabItem Header="CCC" Name="CCC">
<StackPanel>
<TextBox Margin="50">タブCCCです</TextBox>
</StackPanel>
</TabItem>
</TabControl>
</Grid>
</Window>
내용
탭 전환용의 카운터 변수를 취급하는 클래스 TabChange 를 준비합니다
TabChange.cspublic class TabChange
{
public static int tabChange;
}
다음은 메인 윈도우의 처리. 버튼을 누르면 탭 전환용 카운터 변수 tabChange의 값이 바뀝니다.
MainWindow.xaml.cs/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void BtnA_Click(object sender, RoutedEventArgs e)
{
TabChange.tabChange = 0;
SubWindow sw = new SubWindow();
sw.Show();
}
private void BtnB_Click(object sender, RoutedEventArgs e)
{
TabChange.tabChange = 1;
SubWindow sw = new SubWindow();
sw.Show();
}
private void BtnC_Click(object sender, RoutedEventArgs e)
{
TabChange.tabChange = 2;
SubWindow sw = new SubWindow();
sw.Show();
}
}
다음은 서브 윈도우의 처리. 창이 생성되었을 때 tabChange의 값에 따라 탭을 선택합니다.
SubWindow.xaml.cs/// <summary>
/// SubWindow.xaml の相互作用ロジック
/// </summary>
public partial class SubWindow : Window
{
public SubWindow()
{
InitializeComponent();
if (TabChange.tabChange == 1)
{
BBB_select();
}
if (TabChange.tabChange == 2)
{
CCC_select();
}
}
public void BBB_select()
{
//BBBタブを選択状態にする
BBB.IsSelected = true;
}
public void CCC_select()
{
//CCCタブを選択状態にする
CCC.IsSelected = true;
}
}
후기
"윈도우를 열고 탭을 선택한다"메소드를 내가 모르는 것만으로는 죄송합니다.
아직 초보자이므로, 코드 자체의 쓰는 방법, qiita에의 문장의 쓰는 방법으로 이러면 더 읽기 쉬워지는, 좋아진다, 라고 하는 지적이 있으면 꼭 부탁드립니다.
Reference
이 문제에 관하여(WPF에서 다른 창을 호출 할 때 다른 창의 탭 전환을 지정하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Michio029/items/fef2c671195e5782c8f3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<Window><!-- ここは省略 -->
<Grid>
<StackPanel Margin="20">
<Button Name="BtnA" Margin="20">SubWindow タブ AAA を開く</Button>
<Button Name="BtnB" Margin="20">SubWindow タブ BBB を開く</Button>
<Button Name="BtnC" Margin="20">SubWindow タブ CCC を開く</Button>
</StackPanel>
</Grid>
</Window>
<Window><!-- 省略 -->
<Grid>
<TabControl Margin="20">
<TabItem Header="AAA" Name="AAA">
<StackPanel>
<TextBox Margin="50">タブAAAです</TextBox>
</StackPanel>
</TabItem>
<TabItem Header="BBB" Name="BBB">
<StackPanel>
<TextBox Margin="50">タブBBBです</TextBox>
</StackPanel>
</TabItem>
<TabItem Header="CCC" Name="CCC">
<StackPanel>
<TextBox Margin="50">タブCCCです</TextBox>
</StackPanel>
</TabItem>
</TabControl>
</Grid>
</Window>
탭 전환용의 카운터 변수를 취급하는 클래스 TabChange 를 준비합니다
TabChange.cs
public class TabChange
{
public static int tabChange;
}
다음은 메인 윈도우의 처리. 버튼을 누르면 탭 전환용 카운터 변수 tabChange의 값이 바뀝니다.
MainWindow.xaml.cs
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void BtnA_Click(object sender, RoutedEventArgs e)
{
TabChange.tabChange = 0;
SubWindow sw = new SubWindow();
sw.Show();
}
private void BtnB_Click(object sender, RoutedEventArgs e)
{
TabChange.tabChange = 1;
SubWindow sw = new SubWindow();
sw.Show();
}
private void BtnC_Click(object sender, RoutedEventArgs e)
{
TabChange.tabChange = 2;
SubWindow sw = new SubWindow();
sw.Show();
}
}
다음은 서브 윈도우의 처리. 창이 생성되었을 때 tabChange의 값에 따라 탭을 선택합니다.
SubWindow.xaml.cs
/// <summary>
/// SubWindow.xaml の相互作用ロジック
/// </summary>
public partial class SubWindow : Window
{
public SubWindow()
{
InitializeComponent();
if (TabChange.tabChange == 1)
{
BBB_select();
}
if (TabChange.tabChange == 2)
{
CCC_select();
}
}
public void BBB_select()
{
//BBBタブを選択状態にする
BBB.IsSelected = true;
}
public void CCC_select()
{
//CCCタブを選択状態にする
CCC.IsSelected = true;
}
}
후기
"윈도우를 열고 탭을 선택한다"메소드를 내가 모르는 것만으로는 죄송합니다.
아직 초보자이므로, 코드 자체의 쓰는 방법, qiita에의 문장의 쓰는 방법으로 이러면 더 읽기 쉬워지는, 좋아진다, 라고 하는 지적이 있으면 꼭 부탁드립니다.
Reference
이 문제에 관하여(WPF에서 다른 창을 호출 할 때 다른 창의 탭 전환을 지정하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Michio029/items/fef2c671195e5782c8f3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(WPF에서 다른 창을 호출 할 때 다른 창의 탭 전환을 지정하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Michio029/items/fef2c671195e5782c8f3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)