I’m still learning C# & WPF and try to make my own windows application. I wish i can find a simple and direct answers for my questions about the best way to create my WPF app layout. Please take a look at the image; My questions are:
-
What is the suitable controls containers in my situation? I have many options of panels and containers that can define my application layout… But what is the best choices?
-
What is the best choice for that changeable part; Page, windows, navigation window? Though i don’t want any navigation controls in that part
-
how to make that changeable part show certain pages after pressing any button in the right panel? how to link that part with these changeable pages?
-
Can C# WPF help me in designing an application work online/offline?

The layout I would suggest to fit your case would be to use Grids to structure your panel to obtain an automatic resizing of the central part and the use of StackPanels for the grouping the buttons together.
As a general rule I would recommend the use of Grids and DockPanels to structure the layout skeleton. The * option on the columns and row size of the Grids are really handy to provide a layout that will not suffer from window resizing.
Here is a quick preview of a WPF reproduction of your layout.
And here is the XAML I used to obtain this layout (I removed the buttons)