Я "проектирую" интерфейсы для приложения, написанного на C # WPF.
Чтобы упростить обслуживание и понимание, я поместил содержимое каждой вкладки в отдельный XAML file
. Поэтому в моем проекте я получил папку «Views», в которой есть 3 файла XAML, представляющих одну вкладку приложения в каждом файле.
Я хочу иметь возможность перемещаться между этими вкладками, как только кнопка нажимается на определенной вкладке.
e.g : I am at Tab one called, Configuration. (the other two tabs are hidden). As soon as i hit a "start" button i want my Actual tab to be hidden,and the second tab to be shown in its place.
Проблема в том, что у меня есть главное окно, которое содержит вкладки так:
<DockPanel LastChildFill="True">
<StatusBar Name="statusBar" DockPanel.Dock="Bottom" Height="22">
<StatusBarItem x:Name="messagePanel" Content="Ready" VerticalAlignment="Center" />
<StatusBarItem Grid.Column="1" Margin="5,2" HorizontalAlignment="Right" >
<ProgressBar x:Name="progressPanel" IsIndeterminate="False" Width="160" Height="18" Visibility="Collapsed" />
</StatusBarItem>
</StatusBar>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="190" />
<RowDefinition Height="6" />
<RowDefinition Height="110*" />
</Grid.RowDefinitions>
<views:EventsView x:Name="eventsView" Grid.Row="2" Margin="4" />
<GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" Margin="0" VerticalAlignment="Stretch" ResizeBehavior="PreviousAndNext" ShowsPreview="True" ResizeDirection="Rows" />
<TabControl Margin="4" Name="tabControl1">
<TabItem Header="Configuration" Name="tabItemConfiguration">
<views:Configuration />
</TabItem>
<TabItem Header="Classification" Name="tabItemClassification" Visibility="Hidden">
<views:Classifier/>
</TabItem>
</TabControl>
</Grid>
</DockPanel>
Вопрос:
Как программно переключаться с одной вкладки на другую при нажатии кнопки? Помните, что я нахожусь в другом файле XAML, поэтому у меня нет доступа (по крайней мере, я не знаю, как получить доступ) к ссылке на другую вкладку, как я сделал бы в коде, стоящем за main window
Заранее спасибо, и извините за вставленный длинный код
EDIT:
Это дало мне доступ к вкладкам, но как мне показать содержимое вкладки вместо просто маленькой вкладки?
MainWindow.Instance.tabItemClassification.Visibility = Visibility.Visible;
MainWindow.Instance.tabItemConfiguration.Visibility = Visibility.Visible;
Я хочу показать содержимое второй вкладки