Search Results

Search found 1749 results on 70 pages for 'shift'.

Page 23/70 | < Previous Page | 19 20 21 22 23 24 25 26 27 28 29 30  | Next Page >

  • Building a &ldquo;real&rdquo; extension for Expression Blend

    - by Timmy Kokke
    .Last time I showed you how to get started building extensions for Expression Blend. Lets build a useful extension this time and go a bit deeper into Blend. Source of project  => here Compiled dll => here (extract into /extensions folder of Expression Blend)   The Extension When working on large Xaml files in Blend it’s often hard to find a specific control in the "Objects and Timeline Pane”. An extension that searches the active document and presents all elements that satisfy the query would be helpful. When the user starts typing a search query a search will be performed and the results are shown in the list. After the user selects an item in the results list, the control in the "Objects and Timeline Pane” will be selected. Below is a sketch of what it is going to look like. The Solution Create a new WPF User Control project as shown in the earlier tutorial in the Configuring the extension project section, but name it AdvancedSearch this time. Delete the default UserControl1.Xaml to clear the solution (a new user control will be added later thought, but adding a user control is easier then renaming one). Create the main entry point of the addin by adding a new class to the solution and naming this  AdvancedSearchPackage. Add a reference to Microsoft.Expression.Extensibility and to System.ComponentModel.Composition . Implement the IPackage interface and add the Export attribute from the MEF to the definition. While you’re at it. Add references to Microsoft.Expression.DesignSurface, Microsoft.Expression.FrameWork and Microsoft.Expression.Markup. These will be used later. The Load method from the IPackage interface is going to create a ViewModel to bind to from the UI. Add another class to the solution and name this AdvancedSearchViewModel. This class needs to implement the INotifyPropertyChanged interface to enable notifications to the view.  Add a constructor to the class that takes an IServices interface as a parameter. Create a new instance of the AdvancedSearchViewModel in the load method in the AdvanceSearchPackage class. The AdvancedSearchPackage class should looks like this now:   using System.ComponentModel.Composition; using Microsoft.Expression.Extensibility;   namespace AdvancedSearch { [Export(typeof(IPackage))] public class AdvancedSearchPackage:IPackage {   public void Load(IServices services) { new AdvancedSearchViewModel(services); }   public void Unload() { } } }   Add a new UserControl to the project and name this AdvancedSearchView. The View will be created by the ViewModel, which will pass itself to the constructor of the view. Change the constructor of the View to take a AdvancedSearchViewModel object as a parameter. Add a private field to store the ViewModel and set this field in the constructor. Point the DataContext of the view to the ViewModel. The View will look something like this now:   namespace AdvancedSearch { public partial class AdvancedSearchView:UserControl { private readonly AdvancedSearchViewModel _advancedSearchViewModel;   public AdvancedSearchView(AdvancedSearchViewModel advancedSearchViewModel) { _advancedSearchViewModel = advancedSearchViewModel; InitializeComponent(); this.DataContext = _advancedSearchViewModel; } } }   The View is going to be created in the constructor of the ViewModel and stored in a read only property.   public FrameworkElement View { get; private set; }   public AdvancedSearchViewModel(IServices services) { _services = services; View = new AdvancedSearchView(this); } The last thing the solution needs before we’ll wire things up is a new class, PossibleNode. This class will be used later to store the search results. The solution should look like this now:   Adding UI to the UI The extension should build and run now, although nothing is showing up in Blend yet. To enable the user to perform a search query add a TextBox and a ListBox to the AdvancedSearchView.xaml file. I’ve set the rows of the grid too to make them look a little better. Add the TextChanged event to the TextBox and the SelectionChanged event to the ListBox, we’ll need those later on. <Grid> <Grid.RowDefinitions> <RowDefinition Height="32" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <TextBox TextChanged="SearchQueryTextChanged" HorizontalAlignment="Stretch" Margin="4" Name="SearchQuery" VerticalAlignment="Stretch" /> <ListBox SelectionChanged="SearchResultSelectionChanged" HorizontalAlignment="Stretch" Margin="4" Name="SearchResult" VerticalAlignment="Stretch" Grid.Row="1" /> </Grid>   This will create a user interface like: To make the View show up in Blend it has to be registered with the WindowService. The GetService<T> method is used to get services from Blend, which are your entry points into Blend.When writing extensions you will encounter this method very often. In this case we’re asking for an IWindowService interface. The IWindowService interface serves events for changing windows and themes, is used for adding or removing resources and is used for registering and unregistering Palettes. All panes in Blend are palettes and are registered thru the RegisterPalette method. The first parameter passed to this method is a string containing a unique ID for the palette. This ID can be used to get access to the palette later. The second parameter is the View. The third parameter is a title for the pane. This title is shown when the pane is visible. It is also shown in the window menu of Blend. The last parameter is a KeyBinding. I have chosen Ctrl+Shift+F to call the Advanced Search pane. This value is also shown in the window menu of Blend.   services.GetService<IWindowService>().RegisterPalette( "AdvancedSearch", viewModel.View, "Advanced Search", new KeyBinding { Key = Key.F, Modifiers = ModifierKeys.Control | ModifierKeys.Shift } );   You can compiler and run now. After Blend starts you can hit Ctrl+Shift+F or go the windows menu to call the advanced search extension. Searching for controls The search has to be cleared on every change of the active document. The DocumentServices fires an event every time a new document is opened, a document is closed or another document view is selected. Add the following line to the constructor of the ViewModel to handle the ActiveDocumentChanged event:   _services.GetService<IDocumentService>().ActiveDocumentChanged += ActiveDocumentChanged;   And implement the ActiveDocumentChanged method:   private void ActiveDocumentChanged(object sender, DocumentChangedEventArgs e) { }   To get to the contents of the document we first need to get access to the “Objects and Timeline” pane. This pane is registered in the PaletteRegistry in the same way as this extension has registered itself. The palettes are accessible thru an associative array. All you need to provide is the Identifier of the palette you want. The Id of the “Objects and Timeline” pane is “Designer_TimelinePane”. I’ve included a list of the other default panes at the bottom of this article. Each palette has a Content property which can be cast to the type of the pane.   var timelinePane = (TimelinePane)_services.GetService<IWindowService>() .PaletteRegistry["Designer_TimelinePane"] .Content;   Add a private field to the top of the AdvancedSearchViewModel class to store the active SceneViewModel. The SceneViewModel is needed to set the current selection and to get the little icons for the type of control.   private SceneViewModel _activeSceneViewModel;   When the active SceneViewModel changes, the ActiveSceneViewModel is stored in this field. The list of possible nodes is cleared and an PropertyChanged event is fired for this list to notify the UI to clear the list. This will make the eventhandler look like this: private void ActiveDocumentChanged(object sender, DocumentChangedEventArgs e) { var timelinePane = (TimelinePane)_services.GetService<IWindowService>() .PaletteRegistry["Designer_TimelinePane"].Content;   _activeSceneViewModel = timelinePane.ActiveSceneViewModel; PossibleNodes = new List<PossibleNode>(); InvokePropertyChanged("PossibleNodes"); } The PossibleNode class used to store information about the controls found by the search. It’s a dumb data class with only 3 properties, the name of the control, the SceneNode and a brush used for the little icon. The SceneNode is the base class for every possible object you can create in Blend, like Brushes, Controls, Annotations, ResourceDictionaries and VisualStates. The entire PossibleNode class looks like this:   using System.Windows.Media; using Microsoft.Expression.DesignSurface.ViewModel;   namespace AdvancedSearch { public class PossibleNode { public string Name { get; set; } public SceneNode SceneNode { get; set; } public DrawingBrush IconBrush { get; set; } } }   Add these two methods to the AdvancedSearchViewModel class:   public void Search(string searchText) { } public void SelectElement(PossibleNode node){ }   Both these methods are going to be called from the view. The Search method performs the search and updates the PossibleNodes list.  The controls in the active document can be accessed thru TimeLineItemsManager class. This class contains a read only collection of TimeLineItems. By using a Linq query the possible nodes are selected and placed in the PossibleNodes list.   var timelineItemManager = new TimelineItemManager(_activeSceneViewModel); PossibleNodes = new List<PossibleNode>( (from d in timelineItemManager.ItemList where d.DisplayName.ToLowerInvariant().StartsWith( searchText.ToLowerInvariant()) select new PossibleNode() { IconBrush = d.IconBrush, SceneNode = d.SceneNode, Name = d.DisplayName }).ToList() ); InvokePropertyChanged(InternalConst.PossibleNodes);   The Select method is pretty straight forward. It contains two lines.The first to clear the selection. Otherwise the selected element would be added to the current selection. The second line selects the nodes. It is given a new array with the node to be selected.   _activeSceneViewModel.ClearSelections(); _activeSceneViewModel.SelectNodes(new[] { node.SceneNode });   The last thing that needs to be done is to wire the whole thing to the View. The two event handlers just call the Search and SelectElement methods on the ViewModel.   private void SearchQueryTextChanged(object sender, TextChangedEventArgs e) { _advancedSearchViewModel.Search(SearchQuery.Text); }   private void SearchResultSelectionChanged(object sender, SelectionChangedEventArgs e) { if(e.AddedItems.Count>0) { _advancedSearchViewModel.SelectElement(e.AddedItems[0] as PossibleNode); } }   The Listbox has to be bound to the PossibleNodes list and a simple DataTemplate is added to show the selection. The IconWithOverlay control can be found in the Microsoft.Expression.DesignSurface.UserInterface.Timeline.UI namespace in the Microsoft.Expression.DesignSurface assembly. The ListBox should look something like:   <ListBox SelectionChanged="SearchResultSelectionChanged" HorizontalAlignment="Stretch" Margin="4" Name="SearchResult" VerticalAlignment="Stretch" Grid.Row="1" ItemsSource="{Binding PossibleNodes}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <tlui:IconWithOverlay Margin="2,0,10,0" Width="12" Height="12" SourceBrush="{Binding Path=IconBrush, Mode=OneWay}" /> <TextBlock Text="{Binding Name}"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox>   Compile and run. Inside Blend the extension could look something like below. What’s Next When you’ve got the extension running. Try placing breakpoints in the code and see what else is in there. There’s a lot to explore and build extension on. I personally would love an extension to search for resources. Last but not least, you can download the source of project here.  If you have any questions let me know. If you just want to use this extension, you can download the compiled dll here. Just extract the . zip into the /extensions folder of Expression Blend. Notes Target framework I ran into some issues when using the .NET Framework 4 Client Profile as a target framework. I got some strange error saying certain obvious namespaces could not be found, Microsoft.Expression in my case. If you run into something like this, try setting the target framework to .NET Framework 4 instead of the client version.   Identifiers of default panes Identifier Type Title Designer_TimelinePane TimelinePane Objects and Timeline Designer_ToolPane ToolPane Tools Designer_ProjectPane ProjectPane Projects Designer_DataPane DataPane Data Designer_ResourcePane ResourcePane Resources Designer_PropertyInspector PropertyInspector Properties Designer_TriggersPane TriggersPane Triggers Interaction_Skin SkinView States Designer_AssetPane AssetPane Assets Interaction_Parts PartsPane Parts Designer_ResultsPane ResultsPane Results

    Read the article

  • UAC consent.exe doesn't render when remoting

    - by chief7
    Im using remoted desktop to access a Win7 machine. when I ctrl+shift click an icon or right click to run it as administrator nothing happens. I see that a new instance of consent.exe is added to the processes in windows task manager but nothing is rendered to approve the execution.

    Read the article

  • Keyboard layout per window

    - by Giorgi
    Hello, As you know when you change keyboard layout with alt-shift it affects all the windows of current application. Is it there any program which changes the behavior to per window? OS: Windows 7

    Read the article

  • Outlook 2010 Reminder Notification/OneNote Draw Bugs

    - by Bobby Varghese
    Can Outlook 2010 send me reminder alarms when the program is closed? If not, is there an add-on for this? Also, I use OneNote to take class notes, and sometimes, I will use the draw feature. When I close the program and come back to the notebook later, the drawings will shift and be scrambled, making my notes impossible to read and a huge hassle to fix. Has MS released an update other than (KB2288640), 32-Bit Edition to fix this?

    Read the article

  • Prevent breaking of specified part of paragraph

    - by AntonAL
    For example, we have a paragraph: Quick brown fox jumps over the lazy dog How can i prevent breaking the part "the lazy" ? I means, that this string will be incorrect in my formatting: Quick brown fox jumps over the lazy dog But this one is correct: Quick brown fox jumps over the lazy dog My text is large and hitting "Shift+Enter" at some placed is ugly, because everything will crash, when text size will be changed ... Selecting the part "the lazy", right-click - "Prevent breaking" does not works Help!

    Read the article

  • How to upgrade XBMC Live via command line?

    - by sunpech
    I've been unable to do a fresh install of XBMC Live 9.11 to my hard drive. Everytime it fails at the Install System step. But I am able to get XBMC Live 9.04.1 to install successfully. How do I upgrade XBMC Live 9.04.1 to 9.11? I understand that Ctrl+Shift+F2 brings up the command line, but what are the next set of commands to run?

    Read the article

  • in Open Office Calc, how do I drag and drop cells to insert rather than replace their destination?

    - by joachim
    I want to rearrange rows with the mouse in Calc. In Excel, I select the whole row, then drag and drop it while holding SHIFT. This causes the drag and drop cursor to turn into a bar rather than cells, and the cells are inserted at the bar's position. Is there a way to accomplish the same sort of thing in Calc without going round the houses inserting columns before the drag operation?

    Read the article

  • Excel shortcut: switching back and forth between that last active sheet and the current exit sheet

    - by thomasssssss
    I know the shortcut CRTL + page up/down but I need the similar function that exists eg in internet explorer: Shift + alt I found a macro that is close but does not entirely solve the problem: If ActiveSheet.Name = "To Do" Then Sheets("Budget").Activate ElseIf ActiveSheet.Name = "Budget" Then Sheets("To Do").Activate I can name the A1 cell with the sheet name and use search (f5) and type the name, but this is to cumbersome. Any ideas, guys?

    Read the article

  • Textmate rails bundle

    - by Yuval
    Normally when working inside a Ruby on Rails view file, I can hit CTRL + SHIFT + . to get open/close tags for rails like so: <%= selection %> I'm not sure how, but yesterday this functionality stopped working. I reinstalled the Ruby on Rails bundle for Textmate but alas, it did not help. Can anybody speculate might have happened and how I could fix it/reset to original settings? Thanks!

    Read the article

  • Ubuntu 10.04 Installation

    - by Sarang
    I do have XP on my PC. I want to shift to Ubuntu 10.04. I want to format whole PC & want to keep only Ubuntu. Should I have to keep partition for it like we do in previous version of Ubuntu. Doesn't it waste my space ?

    Read the article

  • How to upgrade XBMC Live from 9.04.1 to 9.11 via command line?

    - by sunpech
    I've been unable to do a fresh install of XBMC Live 9.11 to my hard drive. Everytime it fails at the Install System step. But I am able to get XBMC Live 9.04.1 to install successfully. How do I upgrade XBMC Live 9.04.1 to 9.11? I understand that Ctrl+Shift+F2 brings up the command line, but what are the next set of commands to run?

    Read the article

  • reset to default language in outlook 2010 on windows 7

    - by Bob
    In Outlook 2010, if I accidently, hit left ctrl shift, my language changes. I keep hitting it and get a new language, but I can't get back to English. How do i reset back to my default language? Going to control panel - lanuage and region and hitting default there does not work. Also, how do i configure my outlook 2010 and all office products to NEVER change language? I only want to use English

    Read the article

  • How to upgrade XMBC Live from 9.04.1 to 9.11?

    - by sunpech
    I've been unable to do a fresh install of XBMC Live 9.11 to my hard drive. Everytime it fails at the Install System step. But I am able to get XBMC Live 9.04.1 to install successfully. How do I upgrade XBMC Live 9.04.1 to 9.11? I understand that Ctrl+Shift+F2 brings up the command line, but what are the next set of commands to run?

    Read the article

  • stop-play-pause-button-opening-itunes-in-snow-leopard

    - by hotsawz
    First time on here so forgive me if this is incorrect etiquette but I found this post that has been answered but I have a better solution. As the post was answered I could not post on there. The solution is simple. Pressing Option + Shift + (media keys) does not fire up / alert iTunes. I've tried it with VLC and Spotify on an external keyboard with media keys and it works fine.

    Read the article

  • Bring to front all windows for a certain application in Windows 7

    - by MMOFan
    Trying to find some key+click combination to bring all windows for a given application to the top of z-order. For example, I have several Putty terminal windows open in the stacked taskbar icon and I want to display all of them, not just the last used. The only work-around I have found so far is to shift+right-click and "minimize all windows" followed by "restore all windows". Any simpler way to do this?

    Read the article

  • Customizing VNC Client Keymapping for PC to Mac Connections

    - by DuckMaestro
    I'm currently using UltraVNC to connect to my Mac Mini from my Windows 7 machine. I'm running into annoyances/issues because I'd like to use activate certan Mac key combinations from my Windows keyboard but can't, and I may even want to remap explicitly what Windows Shift, Alt, Ctrl, and Win do on the Mac when I'm using the VNC client. Does anyone know if it is possible to customize this in UltraVNC, or if there is some other client that can do that?

    Read the article

  • How to upgrade XBMC Live from 9.04.1 to 9.11?

    - by sunpech
    I've been unable to do a fresh install of XBMC Live 9.11 to my hard drive. Everytime it fails at the Install System step. But I am able to get XBMC Live 9.04.1 to install successfully. How do I upgrade XBMC Live 9.04.1 to 9.11? I understand that Ctrl+Shift+F2 brings up the command line, but what are the next set of commands to run?

    Read the article

  • Is there a way to unhook a global hotkey in windows?

    - by jonfuller
    I'm running Windows 7, and I installed an application that installed a global hot key (ctrl+shift+space) which conflicts with another application (Visual Studio) that uses that hotkey (though, not globally, only applications specific). The question is, knowing which application it is (ScanSnap Manager) and that it doesn't have a setting to turn off the hot key, is there a way I disable it through Windows somehow? Thanks!

    Read the article

  • Does Windows performance degrade past a certain level of CPU utilization?

    - by Mike Taylor
    Is there a recommended average CPU threshold in running Windows boxes based on experience in other shops? Background: We are running with Windows Server 2003 32-bit OS. Servers are handling a major enterprise-level web application suite with a high frequency of small transactions mixed in with much larger transactions - overall average is 13ms. Our average overall CPU utilization of the Windows servers are ~60% during prime-shift. And we question at what level does the Windows OS begin to shimmy on the CPU scheduling road? Thanks.

    Read the article

  • virtual mac osx 10.6.8 in VMWare does not save screen captures

    - by epeleg
    I have a VMWare image of a mac OSX 10.6.8 (fully updated). When I click Commnd+Shift+3 it makes a camera shutter sound, but no screen-capture is saved anywhere that I can find. When running: defaults read com.apple.screencapture location it returns /Users/admin/Pictures/Captures this folder exists and is empty also executed chmod 777 /Users/admin/Pictures/Captures Any ideas anyone ? Could this be related to the VMware screen resolution(Size) of this MAC? (currently set to 1348x1391)

    Read the article

< Previous Page | 19 20 21 22 23 24 25 26 27 28 29 30  | Next Page >