jandotnet / thinksharp.featuretour Goto Github PK
View Code? Open in Web Editor NEWFeatureTour - Enhance your WPF applications with interactive tutorials!
Home Page: http://featuretour.de
License: MIT License
FeatureTour - Enhance your WPF applications with interactive tutorials!
Home Page: http://featuretour.de
License: MIT License
It is up to the tour developer to ensure that the visual elements are available. There are use cases (e.g. moving to another tab during on entering step) where the element is not loaded for the current step, but it will be loaded before navigation to the next step will be executed.
Hi,
I have an issue with proper position of the tour popup when hosting window's size changes or when it's being moved to another position.
I tried demo app and everything works fine there, but when I prepared the most simplest test app of mine, nothing works as it should.
Check this - app on normal start looks good
but when I move window popup does not move with the attached element
It behaves the same when I resize the window.
Here's demo app
FeatureTourTest.zip
Can you help me please? What have I done wrong?
Edit: I have just noticed that when I use button placed directly into window element it works, but when I use button placed in usercontrol that is placed in the window it does not. Is there any way how to make Tour working from user controls?
Goal
Need to put a popup over Name
header in DataGrid
Attempts
Tried to set ElementID
through style or directly, in turn
<Style x:Key="TourNameHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="tour:TourHelper.ElementID" Value="Name"/>
</Style>
<DataGridTextColumn Binding="{Binding name}" HeaderStyle="{StaticResource TourNameHeaderStyle}">
<DataGridTextColumn.Header>
<TextBlock Text="Name" tour:TourHelper.ElementID="Name"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
Result
Can not find Name
in both cases
Could not find visual element with ElementID 'Name'.
Popup may not occur. Ensure that the visual element is available in the current view.
Reason?
Guess, it's because DataGridTextColumn
is not in the same visual tree as rest elements.
VisualTreeHelper
is used everywhere in ThinkSharp.FeatureTouring.Helper.WpfUtils
.
Workaround
Fake Control
over the header is not an option since columns can be resized, reordered, shrunk by main window, etc.
Question
Is it possible to overcome this?
It is possible to execute custom code on step entering:
navigator.OnStepEntering("StepName").Execute(step => { /* action */ });
That work fine if the element, associated with the next step, is visible or invisible. However, the element has to be loaded! If the element was not loaded before, the action will not be executed. That may be a problem, because OnStepEntering may be used to prepare the application's state for the next step (e.g. ensure that the desired element is visible).
It should be possible to access the number of total steps and the current step number for realizing advanced navigation lables
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.