-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Code Quality: Introduce item template to PaneHolderPage.xaml #11955
Comments
What about using BladeView like ColumnsLayout? If we do so, it'd be easier to merge ColumnShellPage and ModernShellPage. |
Once there is a template, we can do some testing to figure out the best control. As a sidenote, isn't BladeView being phased out? |
Yeah, they plan to remove. Agreed, let’s create a template first. |
I did a quick search and I found that we cannot add time template and item repeater to enumerate shell pages as we have sizer in-between. We seem to have use StackPanel.Children and add UIElements to it. This increases amount of code in code behind but this seems to be a better idea. Things what we have to interact with are:
Current GridSpitter is hard to handle since we have to manipulate every interaction, while WCT 8.0's ContentSizer has brilliant feature, which it targets a sizing control internally: <StackPanel x:Name="LeftPanel" />
<wct:ContentSizer Target="{Binding LeftPanel}" /> This may reduce a certain amount of code and improve maintainability. Also removing the concept of 'left' or 'right' enables user to remove any pane at any time. |
We might want to support vertical panes as well in the future. |
Let's use StackPanel.Orientation then |
There can be a scenario with 4 panes, two on top, and two on bottom. |
Oh are we gonna support different orientations?
|
After discussing Discord, we'll only support one orientation at a time. It's also worth pointing out that we're not actually adding support for different orientations right now, we're only bringing this up in order to prevent extra work in the future. |
Description
The multipane feature consists of two ModernShellPages and a GridSplitter. The code around this is hard to work with and prevents us from expanding the feature to allow more than two panes. Creating an item template will allow us to create and close panes on demand.
Concerned code
PaneHolderPage.xaml
Gains
Requirements
Comments
No response
The text was updated successfully, but these errors were encountered: