Test Stack White not getting some WPF elements by automation id - wpf

I need to get the main menu items (PanelItem) within a DevComponents NavigationPane. I am using Test Stack White's Window.GetMultiple(SearchCriteria.ByAutomationId("xyz")) method which works fine for sub menu items (ButtonDropdown, see example below). I am also able to get the second test button ("TestButton2") but I don't get "TestButton1" and "PanelItem" (and "NavigationPane" neither). Does anyone have an idea why this is?
xmlns:dc="clr-namespace:DevComponents.WpfRibbon;assembly=DevComponents.WpfRibbon"
...
<dc:NavigationPane AutomationProperties.AutomationId="NavigationPane" Name="Test01">
<Button AutomationProperties.AutomationId="TestButton1">Test button 1</Button>
<dc:PaneItem AutomationProperties.AutomationId="PanelItem">
<StackPanel>
<Button AutomationProperties.AutomationId="TestButton2">Test button 2</Button>
<dc:ButtonDropDown AutomationProperties.AutomationId="ButtonDropDown"></dc:ButtonDropDown>
...
</dc:NavigationPane>

I understand now. :) The very good Stack White documentation recommends using the https://archive.codeplex.com/?p=uiautomationverify tool which lets you pick a running application and shows the visible elements of that application in a tree. So I realized that my first test button is not visible and the PaneItems are no clickable elements. I think I need to click the main menu items programmatically (not with Stack White).

Related

Enlarge and Styling for Xceed.Wpf.AvalonDock Drop Down Button

Hi I'm new to AvalonDock and currently I have to handle on a task on others code which implemented this Xceed.Wpf.AvalonDock. My goal is to make the UI become touch screen friendly and first thing I need to enlarge the "Search Tab Button", I'm not sure the actual name of that button, it is used to show all the existing tab which may hidden or be showing on the header. Just like the Google Chrome, there is a button which used to search the opened tab on the upper right corner. Google Chrome Search Tabs
Can anyone help to give some solution or advice on how to enlarge the "Search Tab Button" ?
search tab button
I was able to change the size of the Menu Item, but not the button size. Below is the code that I tried to change the size of the Menu Item.
<xcad:DockingManager.DocumentPaneMenuItemHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Content.Name}" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="10" FontSize="18"/>
</DataTemplate>
</xcad:DockingManager.DocumentPaneMenuItemHeaderTemplate>
Trial Result
The problem is I don't know how to change the button size.
I search through the web, and the only things I found is this Dirkster99/AvalonDock, unfortunately it is not used for Xceed.Wpf.AvalonDock. Help~ Thanks!
https://stackoverflow.com/a/35417749/14891562
Alright, struggling to find shorter solution from the entire web.
In the end, this is what I found, which help me to change the style of the DropDownButton. Thanks to the author!
To enlarge the button, I follow the instruction of the link above to create a resource dictionary for the entire DocumentPaneControlStyle. From there I change the "Width" and "Height" of the xcad:DropDownButton/
Conclusion, AvalonDock is tough! :'(

Suggestions for design approach to React app walkthrough

I'm about to try to create a walkthrough for a web app created using React. I'm trying to think of the best way to do it, and have been thinking of using things like Material UI's modal component. I'm thinking I should also include some kind of arrow component that points the user to whichever element (button, link, etc) on my page I want them to click next. Also I will want to create a backdrop to fade the screen except for whichever element I want the users attention to be drawn to.
I feel like this must have been done many times before, but I can't find anything from searching. Obviously whenever I Google "react walkthrough/guide/intro" I just get suggestions for teaching basic React.
(NB: I'm not looking to do one of those intro sliders, as I want to provide a more detailed step-by-step)
The keyword your need to search for is 'tour'. Searching on google for 'react tour', I found 2 libraries for you:
React Joyride: https://github.com/gilbarbara/react-joyride | Live Demo
reactour: https://github.com/elrumordelaluz/reactour | Live Demo
Both seem to have similar features:
Instruction modal that explains about an element on the page.
The modal is positioned next to the highlighted element.
The window will scroll down to the highlighted element if it's outside of the viewport.
The element is highlighted to bring more attention while the rest of the page is in the backdrop.
There are steppers on the modal to indicate which step you're on.

Scrollbar Removal

I can't figure out how to remove the scroll bar from my website.
I've looked up ways of doing it on SO but with no luck. It just keeps staying in the box.
I also want to be scrollable but just without the actual scroll bar visible from computers.
(It's not visible via mobile devices which is okay)
Regards,
Alex
There is no standard cross-browser CSS code you can use to render scroll bars invisible. However, you can put your <div id="shoutbox_data"> element inside another <div> element with an id field like "shoutbox_wrapper", set the CSS overflow property of the wrapper element to hidden, and then use JavaScript to automatically resize the wrapper element so it covers up the scrollbox. The idea comes from Jan Bilek, and you can find the JavaScript to accomplish this on his blog.

How to check if element has class with AngularJS?

I have an off panel menu working perfectly on a site. The user can open and close it using both a navicon or sliding it with the finger.
Right now I have a very nice navicon icon that transitions from Menu Icon to X Icon when is clicked (and opens the menu) and the other way around when is clicked again and the menu closes. Buuut if the user slides the menu open or closed instead of using the navicon, the transition is not triggered, which might lead to confusions on the UX (i.e. the menu being closed, and the navicon showing an X instead of the regular 3 horizontal lines icon).
So, the navicon has right now the following code to trigger the transition:
ng-click="open = !open" ng-class="{'open-mob':open}">
I thought that a nice and easy way to fix this, would be to trigger this "open = !open" every time that the menu is open or closed, as the js from the off panel adds the class slidRight to the main section when the menu is open, and removes it when it is closed.
Being so, is there some straight way to check if the class is there using AngularJS?
Something like if class = slidRight -> "open = !open".
Thanks!!
for those (including me) who could not get their head around Angular's documentation, here is an example which worked for me:
angular.element(myElement).hasClass('my-class');
angular.element(myElement).addClass('new-class');
angular.element(myElement).removeClass('old-class');
hope this help someone ...
Angular uses jqLite's .hasClass() natively.
Read here on the angular docs for more info.
http://docs.angularjs.org/api/angular.element
https://docs.angularjs.org/api/ng/function/angular.element

Google Plus Share Button ExpandTo not working

I am currently using this code.
<g:plus action="share" annotation="bubble" expandTo="top" href="#">
The expandTo is not working though. The info popup just show below the share button. I need it to display on top.
Thanks for any help :)
Edit: It appears it displays relative to where there share button is displayed on screen. If it is at the bottom of the screen then the bubble appears on top.
Is there a way to force the bubble to the top?

Resources