﻿<?xml version="1.0" encoding="utf-8"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Intersoft Community - ClientUI - Handling WindowCommands like Close, Minimize, and Maximize?</title><link>http://www.intersoftsolutions.com/Community/ClientUI/Handling-WindowCommands-like-Close-Minimize-and-Maximize/</link><description /><generator>http://www.intersoftsolutions.com</generator><language>en</language><copyright>Copyright 2002 - 2015 Intersoft Solutions Corp. All rights reserved.</copyright><ttl>60</ttl><item><title>Handling WindowCommands like Close, Minimize, and Maximize?</title><link>http://www.intersoftsolutions.com/Community/ClientUI/Handling-WindowCommands-like-Close-Minimize-and-Maximize/</link><pubDate>Tue, 07 Dec 2010 22:36:52 GMT</pubDate><dc:creator>Glayaar</dc:creator><category>UXDesktopDock</category><category>UXDock</category><category>UXWindow</category><category>UXDesktop</category><description>&lt;p&gt;In such scenario, you will need to bind the CommandBindingCollection object to the element which implements the command.&lt;/p&gt;&lt;p&gt;In your attached sample, the element which has the minimize and close command is UXWindow so you will need to bind the CommandBindingCollectionto UXWindow. Here is the snippet:&lt;/p&gt;&lt;pre&gt;public class SymphonyUXDesktop : UXDesktop&lt;br /&gt;{&lt;br /&gt;    protected override DependencyObject GetContainerForItemOverride()&lt;br /&gt;    {&lt;br /&gt;        UXWindow newWindow = new UXWindow();&lt;br /&gt;        newWindow.IsClientVisible = true;&lt;br /&gt;        newWindow.CanMaximize = true;&lt;br /&gt;        newWindow.CanMinimize = true;&lt;br /&gt;        newWindow.CanMove = true;&lt;br /&gt;        newWindow.CanResize = true;&lt;br /&gt;&lt;br /&gt;        CommandBinding windowCloseCommandBinding = new CommandBinding(WindowCommands.Close, HandleWindowCommand, CanHandleWindowCommand);&lt;br /&gt;        CommandBinding windowMinimizeCommandBinding = new CommandBinding(WindowCommands.Minimize, HandleWindowCommand, CanHandleWindowCommand);&lt;br /&gt;&lt;br /&gt;        CommandBindingCollection bindingCollection = new CommandBindingCollection();&lt;br /&gt;&lt;br /&gt;        bindingCollection.Add(windowCloseCommandBinding);&lt;br /&gt;        bindingCollection.Add(windowMinimizeCommandBinding);&lt;br /&gt;&lt;br /&gt;        CommandManager.SetCommandBindings(newWindow, bindingCollection);&lt;br /&gt;&lt;br /&gt;        return newWindow;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void HandleWindowCommand(object sender, ExecutedRoutedEventArgs e)&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void CanHandleWindowCommand(object sender, CanExecuteRoutedEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        e.CanExecute = true;&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Handling WindowCommands like Close, Minimize, and Maximize?</title><link>http://www.intersoftsolutions.com/Community/ClientUI/Handling-WindowCommands-like-Close-Minimize-and-Maximize/</link><pubDate>Tue, 07 Dec 2010 16:35:53 GMT</pubDate><dc:creator>chrisaswain</dc:creator><category>UXDesktopDock</category><category>UXDock</category><category>UXWindow</category><category>UXDesktop</category><description>&lt;div class="GroupContent MessageContent" id="MessageBody"&gt;&lt;p&gt;I'm using the UXDesktop control bound to an ItemsSource to generate my UXWindow objects.&amp;nbsp; I need to be able to handle some of the commands fired by the windows such as Close, Minimize and Maximize.&amp;nbsp; I've tried the following, but it doesn't seem to capture the Close command when I click the close button of the UXWindow object.&lt;/p&gt;&lt;pre style="font-family: consolas"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;partial&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;RootView&lt;/span&gt;&amp;nbsp;:&amp;nbsp;&lt;span style="color: #2b91af"&gt;ViewBase&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;public&lt;/span&gt;&amp;nbsp;RootView(&lt;span style="color: #2b91af"&gt;RootViewModel&lt;/span&gt;&amp;nbsp;viewModel)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;span style="color: blue"&gt;base&lt;/span&gt;(viewModel)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeComponent();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;CommandBinding&lt;/span&gt;&amp;nbsp;windowCloseCommandBinding&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;CommandBinding&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;WindowCommands&lt;/span&gt;.Close,&amp;nbsp;HandleWindowClose);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green"&gt;// Create the CommandBindingCollection to hold the command binding&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;CommandBindingCollection&lt;/span&gt;&amp;nbsp;bindingCollection&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af"&gt;CommandBindingCollection&lt;/span&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bindingCollection.Add(windowCloseCommandBinding);&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green"&gt;// Set the binding collection to the layout root&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #2b91af"&gt;CommandManager&lt;/span&gt;.SetCommandBindings(&lt;span style="color: blue"&gt;this&lt;/span&gt;,&amp;nbsp;bindingCollection);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue"&gt;private&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue"&gt;void&lt;/span&gt;&amp;nbsp;HandleWindowClose(&lt;span style="color: blue"&gt;object&lt;/span&gt;&amp;nbsp;sender,&amp;nbsp;&lt;span style="color: #2b91af"&gt;ExecutedRoutedEventArgs&lt;/span&gt;&amp;nbsp;e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;&lt;pre style="font-family: consolas"&gt;How can I capture and handle the commands fired from my UXWindow objects in my UXDesktop?&lt;/pre&gt;&lt;pre style="font-family: consolas"&gt;&amp;nbsp;
&lt;div class="GroupContent MessageContent" id="MessageBody"&gt;&lt;p&gt;You can run the attached sample project to see that the HandleWindowCommand method is never invoked even though I'm doing the CommandBinding to the WindowCommands.Close and Minimize commands. &lt;/p&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>