My app currently is a mix of WinUI and Win32 elements, that is, a top level window with a MenuBar at the top, and one Grid with 3 columns: One NavigationView at the left, another one at the right using the techniques discussed here and between them I put a normal Win32 HWND aimed to show the main interface of my real time audio/video/image editor drawn with Direct2D.
The idea is now to replace the middle HWND with a SwapchainPanel so I have a full WinUI interface.
This time the layout is as such:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition ></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
<NavigationView Grid.Column="0" Grid.Row="0" x:Name="LeftN" .... >
...
</NavigationView>
<SwapChainPanel Grid.Column="1" Grid.Row="0" x:Name="scp" ></SwapChainPanel>
<NavigationView Grid.Column="2" Grid.Row="0" x:Name="RightN" ...>
</NavigationView>
- My SwapChain panel isn't resizing when the left/right navs are opened or closed, it stays fixed.
- My swapchain panel's height gets the maximum height of the nav that shows the more controls, it doesn't fully occupy the window. How do I tell it to take the entire height?
- The SwapChain drawing is much slower, compared to the Win32 native window. Is this a limitation of the current implementation?
Best & Thanks,