Giter VIP home page Giter VIP logo

thinksharp.featuretour's People

Contributors

jandotnet 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

Watchers

 avatar  avatar  avatar  avatar  avatar

thinksharp.featuretour's Issues

Enable Next Button - even if the next element is not visible.

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.

Popup position on window resize/move

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
image

but when I move window popup does not move with the attached element
image

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?

ElementID for DataGridColumnHeader

Goal
Need to put a popup over Name header in DataGrid
image

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?

OnStepEntering is not called if the visual element is not loaded

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).

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.