I am currently building a dashboard type application, allowing the user to add windows containing graphs/chart/etc. into the basic work area, (I have the ribbon menu on top) and to be able to reposition and size the individual windows accordingly.
Based on this I have looked at using tool windows, as I like the idea of being able to not only dock to other tool windows, but also to the outer edges of the application. I am also using the inner fill method as the only things I will be presenting to the user will be tool windows. I am also not interested in the auto hide functionality so I have disabled this (at a later date, I may add auto hide tool windows to the application to add other functionality).
Based on the above I have come across a few queries I have concerning possible toolWindow functionality. I have gone through the support forum and sample browser, but unable to find out further answers – apologies if these are basic questions.
1) I would like to be able to identify the current tool window that is currently activated (opened or clicked on). I am using the following XAML to create my toolWindow area:
<docking:DockSite x:Name="dockSite" UseHostedAutoHidePopups="False" ToolWindowsTabPlacement="Top" ClosePerContainer="True" CanToolWindowsRaft="False" CanToolWindowsAutoHide="False" CanDocumentWindowsEditTitles="True">
<docking:SplitContainer>
<docking:ToolWindowContainer>
</docking:ToolWindowContainer>
</docking:SplitContainer>
</docking:DockSite>
and then I use the ‘WindowActivatedEvent’ to detect when a user has opened a new tool window or changed focus. On this event I loop through all toolwindow documents and check which one ‘.isSelected’. Unfortunately the .IsSelected seems to be set to true for all tool windows. Is there another method to detect the targeted tool window – a bit like the primaryControlTab way of dong things. The idea is I would like to detect when the tool window is selected and which one, whether the tool window is floating or not.
2)I have set the imageSource for the toolWindow, and I can see this successfully when the toolWindows is ‘tabbed’ (I am allowing the user to group in tabs or docked independently) Is there a way that I can have this icon stay on all the time, for when the toolWindow is docked/tabbed/etc or floating? On the same lines, I would also like to show the ContextImageSource at all times on the toolWindow.
3)Is it possible to allow the user to change the title of the toolWindow when not tabbed? I know this is available when displaying the toolWindow as a tab, but would like to allow the user to change this when docked/floated/etc.
4)Is it possible to change the colour of the tool window title bar – I know this is possible when displayed as a tab, but would like the colour to retain when docked or as a separate tool Window? I am currently using Office2007 theme as default for my ribbon bar/application.
Sorry for all the questions, but deciding at the moment the best presentation method for version 1 of the product I am developing and as to whether the intent as described above is possible
Bret
Based on this I have looked at using tool windows, as I like the idea of being able to not only dock to other tool windows, but also to the outer edges of the application. I am also using the inner fill method as the only things I will be presenting to the user will be tool windows. I am also not interested in the auto hide functionality so I have disabled this (at a later date, I may add auto hide tool windows to the application to add other functionality).
Based on the above I have come across a few queries I have concerning possible toolWindow functionality. I have gone through the support forum and sample browser, but unable to find out further answers – apologies if these are basic questions.
1) I would like to be able to identify the current tool window that is currently activated (opened or clicked on). I am using the following XAML to create my toolWindow area:
<docking:DockSite x:Name="dockSite" UseHostedAutoHidePopups="False" ToolWindowsTabPlacement="Top" ClosePerContainer="True" CanToolWindowsRaft="False" CanToolWindowsAutoHide="False" CanDocumentWindowsEditTitles="True">
<docking:SplitContainer>
<docking:ToolWindowContainer>
</docking:ToolWindowContainer>
</docking:SplitContainer>
</docking:DockSite>
and then I use the ‘WindowActivatedEvent’ to detect when a user has opened a new tool window or changed focus. On this event I loop through all toolwindow documents and check which one ‘.isSelected’. Unfortunately the .IsSelected seems to be set to true for all tool windows. Is there another method to detect the targeted tool window – a bit like the primaryControlTab way of dong things. The idea is I would like to detect when the tool window is selected and which one, whether the tool window is floating or not.
2)I have set the imageSource for the toolWindow, and I can see this successfully when the toolWindows is ‘tabbed’ (I am allowing the user to group in tabs or docked independently) Is there a way that I can have this icon stay on all the time, for when the toolWindow is docked/tabbed/etc or floating? On the same lines, I would also like to show the ContextImageSource at all times on the toolWindow.
3)Is it possible to allow the user to change the title of the toolWindow when not tabbed? I know this is available when displaying the toolWindow as a tab, but would like to allow the user to change this when docked/floated/etc.
4)Is it possible to change the colour of the tool window title bar – I know this is possible when displayed as a tab, but would like the colour to retain when docked or as a separate tool Window? I am currently using Office2007 theme as default for my ribbon bar/application.
Sorry for all the questions, but deciding at the moment the best presentation method for version 1 of the product I am developing and as to whether the intent as described above is possible
Bret