Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    James Willock
    @ButchersBoy
    @LinkinForEver this is not "dead", but it's open source, and I can't apply 100% of my time to it.
    Abystus
    @Abystus
    Anyone know why I don't have underlined tab headers for the selected tab?
    they swap just fine, but I have a hard time telling which one is selected without that indicator being shown
    James Willock
    @ButchersBoy
    @Abystus you're using the material style?
    amoamare
    @amoamare
    @ButchersBoy was this ever solved ?
    ButchersBoy/Dragablz#104
    James Willock
    @ButchersBoy
    no, might try and come back to that...got some more free time heading my way
    amoamare
    @amoamare
    Perfect thanks, in the mean time I just override it from the main view and it works perfect.
    Michael Heinrich
    @pinki
    Hi, I have a question about Dragablz' license.
    The nuget package says "MS-PL", but the github project says "MIT License". Which one is right?
    Krutonium
    @Krutonium
    @pinki I would say the GH Project is the one you should assume is correct, since that is the source tree.
    Michael Heinrich
    @pinki
    @Krutonium Thanks.
    James Willock
    @ButchersBoy
    @pinki yes, it's MIT
    Krutonium
    @Krutonium
    I should scroll lower in gitter more often. I would have caught this days ago.
    Matteo
    @matteoPhre
    Hi!!! i have a question: my application start with a window..when i check the "IsDirty" pattern, i want to raise a modal that show you a warning message. But when i close the modal, all the application closes. I want to bind close action to a custom command with parameter..but i can't handle the modal closing..
    James Willock
    @ButchersBoy
    @matteoPhre did you fix?
    Matteo
    @matteoPhre
    @ButchersBoy hi! yes i've fix it with AOP. many thanks
    FACELESS
    @NothingFaceX

    @LinkinForEver this is not "dead", but it's open source, and I can't apply 100% of my time to it.

    @ButchersBoy , Yes you are completely right , sorry about that.

    tbone897
    @tbone897
    hi, I'm trying to implement middle mouse and ctrl+f4 close tab. So far I have in my xaml : MouseDown="tabablzControl_MouseDown"
    I can get all the TabZControl Items, but not sure how to determine which one was selected to close
    tried following you examples of a custom template header but am lost
    FACELESS
    @NothingFaceX
    @ButchersBoy Hi James , Welcome back and happy new year , can you check out this Bug :ButchersBoy/Dragablz#191
    Loyal Servant
    @LoyalServant
    so, expanding on an example where ItemsSource is bound to a observablecollection. when i add items to the collection tabs appear as they should but no controls in the tab are displayed until the tab is focused. things work fine if the tabs are all created at startup. If i do something hacky like rebuild the collection every time a tab is added and step on the original collection that "seems" to work better. any ideas?
    James Willock
    @ButchersBoy
    @tbone897 you probably want to create a custom thumn so you can track mouse down...have you looked at the example with a checkbox in it?
    @LoyalServant what are you adding to your collection, a ViewModel, or a control?
    tbone897
    @tbone897
    got it thanks, that example helped
    Ray Tang
    @raytangRT
    Hi all, I saw the MDI demoe, and wondering if I can drag the child out
    dust63
    @dust63
    Hi everyone, Is there a built in mechanism to save the current layout ?
    Loyal Servant
    @LoyalServant
    @ButchersBoy sorry for the late reply.. very late. Adding to a collection. I have done this in app.xaml: <Setter Property="SelectedItem" Value="{Binding ActiveTab}"/> and it "works" but I can't work out how to bind properties like SelectedItem or ShowDefaultCloseButton to the collection like the HeaderItemTemplate or the ContentTemplate are. In the case of the ShowDefaultCloseButton is all or nothing where I would like to be able to control individual tabs. I am using the same code you have @ https://github.com/ButchersBoy/DragablzSamplez/blob/master/DragablzWindowApp/App.xaml
    Jérémy VIGNELLES
    @jeremyVignelles
    Hi, I see a lot of people asking for the ability to save/restore the layouts. I also find myself in that situation, and I'd like to contribute on that (no promises though). Does anyone think of anything that I must be careful about (potential issues, mandatory feature...)
    Imad Lekal
    @Imadlekal

    Hello,

    am I the only one who can't select controls inside the Dragablz tabs while I'm on Visual studio?

    I would appreciate it If someone could point to a fix or workaround
    bebenins
    @bebenins
    @Imadlekal
    No workarounds. Just have to scroll through XAML manually
    Imad Lekal
    @Imadlekal
    @bebenins I appreciate the answer, thanks
    TekuSP
    @TekuSP
    Hi! Can anyone explain me why MaterialDesign version has fixed 100 px width on TabItem? https://i.imgur.com/9oEsVFA.png
    But not skinned one works OK? https://i.imgur.com/clAlEPn.png
    I tried looking into XAML, but I can't find element which causes this. Anyone had similar problem in past?
    https://i.imgur.com/gZmfFOH.png Looks like DragablzItem has MinWidth 80, but I cant remove it through Custom Styling... Any tips?
    Maulwurf112
    @Maulwurf112
    @ButchersBoy
    Hello James,
    i use TabablzControl in a application with a MahApps MetroWindow. Now i want combine the transparent window feature (when i drag a tab to another window) from dragablz.Window with the style from MetroWindow.
    For this i create a new window class that inherit from MetroWindow and add your code for "IsBeingDraggedByTab" Property and drag events. I also create adjusted styles and control templates for the new Window class.
    It works great...When I drag a tab to another window, the border and titlebar is transparent like dragablz.Window. Now Problem... When I maximize the window (over button or double click), the content doesn't update, means the tabcontrol inside stay on his former size and doesn't react. I get big border on buttom and right side.
    When i resize the window with the mouse on the corners it works fine. Do you have an idea, what is the problem? Thanks in advances!
    Image from Window...https://imgur.com/a/Gat96gN
    berge2007
    @berge2007

    Hello Coders,
    For example I have 2 different ViewModel class like VM1, VM2 and I have two different UserControl based View class like V1 and V2. V1's job is to display data of VM1 and V2 will display datas of VM1. I'd like to put the V1 and V2 into different Dragablz Tab.

    in *.CS:
    
    Tabs.Add(new Dragablz.HeaderedItemViewModel()
    {
        Header = "Tab1",
        Content = new ViewModel1()
    });
    
    Tabs.Add(new Dragablz.HeaderedItemViewModel()
    {
        Header = "Tab2",
        Content = new ViewModel2()
    });
    
    in *.xaml:
    
     <dockablz:Layout>
            <dragablz:TabablzControl
                x:Name="tabControl"
                ItemsSource="{Binding Tabs}"            
                Margin="8"
                UseLayoutRounding="True"
                ShowDefaultAddButton="False"
                ShowDefaultCloseButton="True"
                ClosingItemCallback="{Binding ClosingTabItemHandler}"
                HeaderMemberPath="Header"
                DisplayMemberPath="Content"           
                >
                <dragablz:TabablzControl.InterTabController>
                    <dragablz:InterTabController ></dragablz:InterTabController>
                </dragablz:TabablzControl.InterTabController>
            </dragablz:TabablzControl>
        </dockablz:Layout>

    How could I bind together the corresponding ViewModels and Views on the tabs? (On "Tab1" should display a View1 which is binded to Tab1's Content (a ViewModel1 object)

    I think TabablzControl's ContentTemplate not going to work because I have different View types and different ViewModel types.

    Every example on the Internet (what I did found) was "Hello world" level, or hard coded in XAML with "TabItem" tags

    Jérémy VIGNELLES
    @jeremyVignelles
    You will probably need to abstract a common higher level for ViewModel1 and ViewModel2 I suppose
    something like IViewModel that would be implemented by both?
    or you can pass them both as "objects"
    but you will need to override somthing to create your view, I don't remember what, but I'm pretty sure there's something to create the tab items the way you want
    berge2007
    @berge2007

    Content is Object so it does not count that VM1 or VM2 has a common IViewModel interface or not

    (note:this is Dragablz code):

    #region Assembly Dragablz, Version=0.0.3.203, Culture=neutral, PublicKeyToken=null
    #endregion
    
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    
    namespace Dragablz
    {
        //
        // Summary:
        //     Helper class to create view models, particularly for tool/MDI windows.
        public class HeaderedItemViewModel : INotifyPropertyChanged
        {
            public HeaderedItemViewModel();
            public HeaderedItemViewModel(object header, object content, bool isSelected = false);
    
            public object Header { get; set; }
            public object Content { get; set; }
            public bool IsSelected { get; set; }
    
            public event PropertyChangedEventHandler PropertyChanged;
    
            protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null);
        }
    }

    So the question is, how could I tell to TabablzControl that use View1 class if the Content is ViewModel1?

    Jérémy VIGNELLES
    @jeremyVignelles
    What gets displayed when you run your code? the view model's ToString()/the viewModel type?
    If so, I guess that you can use a DataTemplateSelector to create your views
    berge2007
    @berge2007

    Like that:

        <dockablz:Layout>
            <dragablz:TabablzControl
                x:Name="tabControl"
                ItemsSource="{Binding Tabs}"            
                Margin="8"
                UseLayoutRounding="True"
                ShowDefaultAddButton="False"
                ShowDefaultCloseButton="True"
                ClosingItemCallback="{Binding ClosingTabItemHandler}"
                HeaderMemberPath="Header"
                DisplayMemberPath="Content" 
                >
                <dragablz:TabablzControl.InterTabController>
                    <dragablz:InterTabController ></dragablz:InterTabController>
                </dragablz:TabablzControl.InterTabController>
                <dragablz:TabablzControl.ContentTemplate>
                    <DataTemplate DataType="{x:Type MyNamespace:ViewModel1}">
                        <MyNamespace:View1 />
                    </DataTemplate>
                    <DataTemplate DataType="{x:Type MyNamespace:ViewModel2}">
                        <MyNamespace:View2/>
                    </DataTemplate>
                </dragablz:TabablzControl.ContentTemplate>
            </dragablz:TabablzControl>
        </dockablz:Layout>

    ?

    berge2007
    @berge2007
    But maybe I could not explain myself very well so back to the basics:
    For example I'd like to create a desktop app for a "Rent-a-vehicle" company. Workers would like to fill up the database with vehicles and more other things. There are different vehicles with different parameters, for example bicycle, quads, e-tricyle, jet-ski, protective accessories/gears, etc. So almost every item type needs a special form to fill up. I'd like to show theese forms as tabs. If a customer/"renter" come in to the shop the worker will click on the "Rent" menu and a new tab will shows up with a renting "form".
    Which would be the right method to achive that funcionality with "Dragablz" tabs?