tabbed document interface in WPF using only on-board means?
c#, controls, tabbed-document-interface, tabbed-interface, wpf
Solution
It's not that hard. It seems hard because there are a lot of different ways to do it.
Try this:
<TabControl x:Name="documentArea"/>
Handler for AddForm button:
private void AddFormClick(object sender, RoutedEventArgs e)
{
object form = GetNewForm();
documentArea.Items.Add(form);
}
That's it. You have to implement `GetNewForm()` in one of two ways. Have it return a user control that displays the form.
OR better yet, have it return your document that you want to display. Use a `DataTemplate` to select the controls to use for displaying this document. This method is going to be more complex to set up.
Problem
I've seen two threads here about TDI & C#. Both of them didn't really answer the questions I have ... Since TDIs are pretty much like a standard nowadays, I can hardly imagine, that I have to buy a special control (like AvalonDock or SandDock). This must be possible with built in the tab-control(?) somehow! I don't need special features like dock- and draggable tabitems. Just open every form in a new tab. Thats it. Like putting every forms content controls into user controls and by request (button, menu click ...) add a new tab and put the corresponding user control on it ... something like this. How would you do it? This can't be THAT complicated (even for me) or am I missing something?! thanks a lot!