Comments (14)
Yeah...this is one of the last big holes in the API...hopefully I will get to it soon.
from dragablz.
@ButchersBoy can you also take into consideration this when you will implement side panels (tool windows)? Possibility to control tab position from MVVM would be a greate feature
from dragablz.
Will do, but as discussed previously, phased in. First thing we need is a method to be able to split the Layout in code on the fly. Then, when in used in conjunction with the existing TabablzControl.AddItem
method you will be able to create everything you can currently do with the mouse in code. We already have the query API, so completing this would leave you fully able to save/restore the layout in user code.
So initially, lookout for some kind of Layout.Split
method...I'll try and get to this in the next week or two.
from dragablz.
ok, looking forward to this.
from dragablz.
You can now split the layout in code using the Layout.Branch
method. Please run up the test app and play with this screen:
Search for usages of Layout.Branch to see how to use it (documentation is scarce at the moment).
Couple of things:
- ratio is included in the API, but not plugged in as of writing
- when the windows get small, they suddenly expand in size when tearing out. I am aware of this issue.
from dragablz.
One more issue: when maximize window, it does not fit to the task bar (dont know is it already was reported)
And another regarding dragablz: Could you make that if I drop tab into center, it not tirn to mdi window by default, but just appears it the center like in VS? Just separate tab in it own container with width and height by default like all other tabs in your examples? Is it possible?
from dragablz.
@QuantumDeveloper Set this value to False (or just remove):
<dockablz:Layout IsFloatDropZoneEnabled="False" />
This will remove the central zone for dropping into a tool window/MDI. There isn't one for dropping into the central tab zone as a) there is no central tab zone with this layout concept and b) individual branches can get too small.
Hopefully the reasoning for this will become more apparent over the next couple of updates; I've got a couple more things coming...
from dragablz.
@ButchersBoy aha, ok. Sorry. I thought that central drop zone is also mde for tabs.
from dragablz.
Well kinda...the idea being that if you want, you can take a tab, and drop it straight into a tool window...so a kinda slightly different take on your VS type docking.
from dragablz.
Hm... ok, I understood. Will wait your further updates.
from dragablz.
The Layout.Branch()
method now accepts firstItemProportion
so size of a branch can be set from code.
And you can get the current proportions of a split from Branch.GetFirstProportion()
This is a pretty big step, now Windows/tabs/branches can all be restored from code (Floating windows still to do), if you follow a sequence of steps to restore your layout. You can see this from this demo page:
from dragablz.
Hi thank you for this awesome library. An issue i can't seem to resolve is how to set the position of the floating item. By default it is positioned to the top left of my app window. Is it possible to change this default?
Thank you
from dragablz.
@simplykayy there are still some parts of the API to finalise around the floating items; the big one being able to manage where the initially appear...so work on that is pending.
from dragablz.
Thank you for your prompt feedback. Another question, the TabablzControl ClosingItemCallback routed event, does that work with blend sdk interactive triggers?
I have gone down the route of MVVM and was thinking i'd hook that event into the blend sdk interaction event but it doesn't seem to work....any guidance. Below is a sample code =>
<dragablz:TabablzControl ShowDefaultCloseButton="True" ItemsSource="{Binding TabContents}"
AdjacentHeaderItemOffset="1" Margin="0 5 5 5" IsEnabled="True"
Visibility="{Binding ShowDeviceInteraction, Converter={StaticResource BooleanToVisibilityConverter}}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="ClosingItemCallback">
<i:InvokeCommandAction Command="{Binding OnTabClosedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<TabControl.ContentTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding Content}" />
</DataTemplate>
</TabControl.ContentTemplate>
</dragablz:TabablzControl>
from dragablz.
Related Issues (20)
- TabablzControl crashes when no tab items are present
- close button can't show HOT 1
- Dockablz layout does not show Dropzones when inside NavigationView
- Need to update SecondaryAccentBrush to SecondaryHueMidBrush
- Tabablz Item Template unable to set Tab title. Just shows as path to item template source HOT 1
- [Question] drag and drop between two or more lists HOT 2
- Documentation of classes
- MoveWindowWithSolitaryTabs issue
- TabablzControl SelectedIndex binding catches all exception from bound property
- Button in TabItem header
- is there a way to make dragablztabcontrol NOT TEARABLE?
- Layout: Cannot change FloatingItem Content
- How we can do this? : Open forms in different threads and then move the mainwindow all other forms must be move with them in wpf.
- MDI: New added floating item will not show at the front.
- .Net 7 Issue
- Throws System.Reflection.TargetInvocationException while dragging a tab when the tabs are created using ItemsSource.
- handling Default close button HOT 1
- Equal width for all tabs
- Brush renames on MaterialDesignInXAML 5.0.0 HOT 1
- Disposing closed tab
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dragablz.