Git Product home page Git Product logo

wpfdocking's Introduction

DevZest.WpfDocking

A docking library to integrate undo/redo-able tabbed docking, floating and auto hide window management into your application in minutes.

Version

For more details, check out https://wpfdocking.devzest.com.

wpfdocking's People

Contributors

weifenluo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

wpfdocking's Issues

Why do I get the following error using the De Zest.WpfDocking library?

Hello everyone, the error that is appearing is the following: This Visual is not connected to PresentationSource. ' It happens when I try to undock a window, however this only happens when I load the position of the windows from the XML file, because when the windows are docked without having imported their position it works normally.

Example of how I save the position of the windows:

        XmlReader xmlReader = XmlReader.Create (Path);
        var Layout = XamlReader.Load (xmlReader) as DockLayout; xmlReader.Close ();
        W_Contenedor.DockContenedor.Load (Layout, LoadDockItem);

Example of how to load the position of the windows:

        XmlReader xmlReader = XmlReader.Create (Path);
        var Layout = XamlReader.Load (xmlReader) as DockLayout; xmlReader.Close ();
        DockContenedor.Load (Layout, LoadDockItem);

However, the previous code is taken from the guide provided by the library.

Library link:
https://wpfdocking.devzest.com/articles/saving_and_loading_window_layout.html

Note: I can't see where the error is shown, because the exception is internal to the library.

NativeFloatingWindow can't be cleared bug

with windows10 system,VS2017,and .net 4.5,run the "QuickStart" project ,drag one panel to show a separate window(NativeFloatingWindow object),minimized the main window ,then maximized the main window,drag and drop the separate NativeFloatingWindow to dock,at last the NativeFloatingWindow can't be cleared.
another,
Every time ,drag one panel to show a separate window,and then go back docking,but monitor the visual tree,the NativeFloatingWindow object more and more,it can't be destroid.

when run app,the last DockItem(DockPosition=RightAutoHide) will show.

XAML setting:
dz:DockControl
<dz:DockItem TabText="Welcome" Title="Welcome" ShowAction="{dz:ShowAsDockPositionAction DockPosition=Document}">

<FlowDocumentScrollViewer.Document>

Welcome to DevZest Docking

</FlowDocumentScrollViewer.Document>

</dz:DockItem>
<dz:DockItem TabText="Saved State" Title="Saved State" ShowAction="{dz:ShowAsDockPositionAction DockPosition=Bottom}">

</dz:DockItem>
<dz:DockItem TabText="Output" Title="Output" ShowAction="{dz:ShowAsDockPositionAction DockPosition=Bottom}">

</dz:DockItem>
<dz:DockItem TabText="Solution Explorer" Title="Solution Explorer" ShowAction="{dz:ShowAsDockPositionAction DockPosition=RightAutoHide}">

</dz:DockItem>
<dz:DockItem TabText="Properties" Title="Properties" ShowAction="{dz:ShowAsDockPositionAction DockPosition=RightAutoHide}">

</dz:DockItem>
</dz:DockControl>

when start the app,the last DockItem(TabText="Properties") will show,but not hide,and then click the other area position,the DockItem come to hide.

Memory Usage goes way over 1GB on a user control in aDockItem

I am loading in avalon Txt viewer in the dock, I have tried with regular txt box and a rich text box, same results. If i open a file larger than 50kb and apply the txt to the box it will lock up the application in the DevZest Docks no matter what type of dock. Now if i create a test app that i put the user control in the main window and launch there is no problem it runs at maybe 100MB. So the issue lays in the Docking since the issue only arises when place in the docks.

There is running fault!

With project “DockSample”,modify the “MainPage.xaml” as following:
1> dz:AutoHide.Animation="Fade"
2> <local:Output x:Name="output" ShowAction="{dz:ShowAsDockPositionAction DockPosition=BottomAutoHide}" />
Then start the project “WindowDockSample” , maybe appear a fault.(try twice)

The other question:
How to group for toolpanel? Now for the right panels,just when the all right panels are setted for “RightAutoHide” or “Right” ,they are a group,if one is “Right”,the other is “RightAutoHide”,they are two group,is there the other method to group flexible?

NativeFloatingWindow object increase more and more

visual tree
Update the library to .NET4.5 ,run the project "QuickStart",check the real-time Visual studio's visual tree
By double click to switch between these two states(docked and floating),the NativeFloatingWindow object don’t increase,it is OK,but By drag and drop the same panel to switch between these two states(e.g. The left docking and floating),the NativeFloatingWindow object increase more and more(Operate repeat 3 times at last).

How to bring the TextTrimming effect if the tabtext can’t be show fully?

There is not effect for Property “TextTrimming” in “ToolWindowTab.xaml”.
In Visual studio’s Docking,when the toolwindow’s width is small,if the tabtext can’t be show fully,the tabtext will show with TextTrimming(CharacterEllipsis),but there is not effect in the wpfdocking ,if we modify the ColumnDefinition width from “*” to the fixed value just for test(e.g. 50),the effect appear.
So how to bring the TextTrimming effect if the tabtext can’t be show fully?

BrowserDock Example

I'm not that familiar with using OneClick.
I've looked at numerous options but can't get past this error

XBAP Install Error: "Downloading ...exe.manifest did not succeed"

I've also looked here but nothing I seem to try works..
(including changing browser settings and changing AssemblyInfo.cs to use a strong named key - which I've reversed out!)

Can you perhaps add some notes for this for others. I suspect it's not an error - just my naivety.
Thanks.

DevZest.WpfDocking.Aero2 File missing??

If you download the code, build, and run with exception settings on full, it comes up with the following error.
The word 'Aero2' is not found in any file in the source either..

ERROR:
Managed Debugging Assistant 'BindingFailure' : 'The assembly with display name 'DevZest.WpfDocking.Aero2' failed to load in the 'Load' binding context of the AppDomain with ID 1. The cause of the failure was: System.IO.FileNotFoundException: Could not load file or assembly 'DevZest.WpfDocking.Aero2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.'

The designer is broken.

Hello, when I add some working code to xaml's designer I get an error.

What is a problem? (Visual Studio 2019)
image

When holding down SHIFT and mouse left click dockItem header cause NullReferenceException.

在 DevZest.Windows.Docking.Primitives.DockManager.WindowHandler.get_NativeOverlayCanvas() 在 ...\WpfDocking\Src\Windows\Docking\Primitives\DockManager.WindowHandler.cs 中: 第 118 行

I comment out TestDrop method in IsShiftKeyDown property in file WpfDocking\Src\Windows\Docking\Primitives\DockManager.DragHandler.cs, it seems ok but I don't know if it has other impacts.

private bool IsShiftKeyDown
{
    set
    {
        bool oldValue = GetIsShiftKeyDown(DockControl);
        if (oldValue == value)
            return;

        SetIsShiftKeyDown(DockControl, value);
        //TestDrop();
    }
}

loading/saving Floating window bug

Inside DockLayoutAdapter, GetShowAction, the action should not return anything if the docktree is not visible. This must then be not added to the show action list.

if ((dockTree.IsFloating) && (!dockTree.IsVisible)){
					return null;
				}

Otherwise it will try and load a hidden floating window, and will raise exception when loading the layout.

How to change drag trigger mode for ToolWindowTab object?

Now when press the mouse above the ToolWindowTab object,if exceed 1 second, the ToolWindowTab object switch to the drag state, Sometimes normal switch between multiple ToolWindow object,just exceed little time press will trigger drag mode.but the visual studio’s docking is not the same,only when mouse press and move,then start drag.Can I modify to the way?

Save/Load DockLayout BUG

Sometimes, when you dockControl.Save(); your current layout (i.e. you have two left side panels one on top of the other) the saved XAML contains some unexpected ShowAsFloatingAction members.

When you subsequently try to dockControl.Load() your saved layout a debug assert is thrown from DockManager.WindowHandler.cs:

private void InitNativeStrategy()
{
Debug.Assert(DockControl.FloatingWindows.Count == 0);
DockControl.FloatingWindows.CollectionChanged += new NotifyCollectionChangedEventHandler(OnFloatingWindowsChanged);
}

If you ignore it and continue, whenever you try to change the dockitems layout moving around panels, the app crashes with a NullReferenceExeption:

private void ShowOverlayWindow()
{
_overlayWindow = OverlayWindow.Show(DockControl);
SetStartMousePosition(_overlayWindow, _overlayWindow.PointFromScreen(_startMousePoint));
foreach (FloatingWindow floatingWindow in DockControl.FloatingWindows)
{
NativeFloatingWindow nativeWindow = NativeFloatingWindow.GetNativeFloatingWindow(floatingWindow); //NativeFloatingWindow is null
SetStartMousePosition(nativeWindow, nativeWindow.PointFromScreen(_startMousePoint));
}
}

Anybody knows how to solve this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.