Enhancements / new element context menu #41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Each commit here is self contained but was easier than trying to do each as a separate PR. Most of the commits should be pretty self evident the biggest is the new context menu on elements to allow for a bit quicker actions:
There is some clunkyness around an ugly behavior with the TreeView where when we programmatically set the selected item through IsSelected it scrolls to the top by default. Scrollintoview works but puts it at the bottom. Right now I center it for known going to jump (we trigger the isselected change). Forcing the selected item is required due to how the patterns are currently generated (only for the selected item so if you right clicked it might not apply as it was based on the selected element not the right clicked one). This could be all avoided if we moved the pattern generation into the ElementViewModel instead and just bound to SelectedItem.Patterns that for the main window pane. Doing this would prevent the clunky workaround for getting the proper datacontext of the parent in the contextmenu (as they have a separate visual root from the entire window).
Let me know if there are any questions/changes/etc.