<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Life as a Developer</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/tom_mathews/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/tom_mathews/feed.xml</link>
    <description>This blog is about my experiences &amp;quot;starting&amp;quot; out as a developer.</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:32:25 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Binding a ToolTip in XAML</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/binding-a-tooltip-in-xaml</link>
      <pubDate>Mon, 06 Nov 2006 13:16:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/11/06/binding-a-tooltip-in-xaml/</guid>
      <description><![CDATA[So, I'm ramping up on XAML. In the smart client version of CMS, we'll allow the users to modify the...]]></description>
      <content:encoded><![CDATA[<P>So, I'm ramping up on XAML. In the smart client version of CMS, we'll allow the users to modify the content metadata on a two-column display (description on the left, text/check/combo box on the right). If the value is changed, a tooltip will show the previous value.</P>
<P>But there's a problem. According to the docs, ToolTips can't have a Parent; they're a brand new window without the hierarchy. So how do you bind it?</P>
<P>I posed the question to our internal Avalon Discussion alias, and recieved several replys. Figuring I'm not the only person to have experienced this problem (and having a known propensity towards tooltips), I thought I'd share them. But first, the setup:</P>
<P>I have a UserControl that wraps the behavior of description/___Box/Tooltip, so that the main page just drops one of these controls whenever it has a new textbox. This control is named "SGT", which has a dependency property OriginalValue.&nbsp;Here's what it looks like when I started out (note that it doesn't work-- ToolTip will not have access to SGT):</P>
<BLOCKQUOTE>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">UserControl</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">x:Class</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">CMS_Client.Controls.SubmissionGridText</SPAN>"<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">xmlns</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue"><A href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><FONT color=#0000ff>http://schemas.microsoft.com/winfx/2006/xaml/presentation</FONT></A></SPAN>"<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">xmlns:x</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue"><A href="http://schemas.microsoft.com/winfx/2006/xaml"><FONT color=#0000ff>http://schemas.microsoft.com/winfx/2006/xaml</FONT></A></SPAN>"<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">x:Name</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">SGT</SPAN>"<SPAN style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">Grid</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">Grid.ColumnDefinitions</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">ColumnDefinition</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">SharedSizeGroup</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">Col0SizeGroup</SPAN>"<SPAN style="COLOR: blue">&gt;&lt;/</SPAN><SPAN style="COLOR: maroon">ColumnDefinition</SPAN><SPAN style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">ColumnDefinition</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">SharedSizeGroup</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">Col1SizeGroup</SPAN>"<SPAN style="COLOR: blue">&gt;&lt;/</SPAN><SPAN style="COLOR: maroon">ColumnDefinition</SPAN><SPAN style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">Grid.ColumnDefinitions</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">Grid.RowDefinitions</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">RowDefinition</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;&lt;/</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">RowDefinition</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">Grid.RowDefinitions</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">TextBlock</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">Name</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">Descriptn</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Grid.Column</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">0</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Grid.Row</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">0</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Text</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">{Binding Description,ElementName=SGT}</SPAN>"<SPAN style="COLOR: blue">&gt;&lt;/</SPAN><SPAN style="COLOR: maroon">TextBlock</SPAN><SPAN style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">TextBox</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">Name</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">ValueTextBox</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Grid.Column</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">1</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Grid.Row</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">0</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Text</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">{Binding Value,ElementName=SGT}</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">ToolTipService.InitialShowDelay</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">500</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">ToolTipService.ShowDuration</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">60000</SPAN>"<SPAN style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">TextBox.ToolTip</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">ToolTip</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">Name</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">PreviousValue</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Placement</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">Right</SPAN>"<SPAN style="COLOR: blue">&gt;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">TextBlock</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">Text</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">{Binding OriginalValue,ElementName=SGT}</SPAN>"<SPAN style="COLOR: blue">/&gt;<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">ToolTip</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">TextBox.ToolTip</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">TextBox</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp; &lt;/</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">Grid</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&lt;/</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">UserControl</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&gt;<o:p></o:p></SPAN></P></BLOCKQUOTE>
<P>The first suggestion (Neil Kronlage) was to set the DataContext on the UserControl to be itself, and then the ToolTip would inherit that context:</P>
<BLOCKQUOTE>
<P><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">UserControl</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">x:Class</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue">CMS_Client.Controls.SubmissionGridText</SPAN>"</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">xmlns</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">=</SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">"<SPAN style="COLOR: blue"><A href="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><FONT color=#0000ff>http://schemas.microsoft.com/winfx/2006/xaml/presentation</FONT></A></SPAN>"</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">xmlns:x</SPAN><SPAN>="<SPAN style="COLOR: blue"><A href="http://schemas.microsoft.com/winfx/2006/xaml"><FONT color=#0000ff>http://schemas.microsoft.com/winfx/2006/xaml</FONT></A></SPAN>"<BR></SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">x:Name</SPAN><SPAN>="<SPAN style="COLOR: blue">SGT</SPAN>"<BR>&nbsp;&nbsp;&nbsp; DataContext=”{Binding ElementName=SGT}”<SPAN style="COLOR: blue">&gt;<BR></SPAN>…<BR></SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN>TextBox.ToolTip&gt;<BR></SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: maroon; FONT-FAMILY: 'Courier New'">ToolTip</SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"> </SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'">Name</SPAN><SPAN>="<SPAN style="COLOR: blue">PreviousValue</SPAN>"<SPAN style="COLOR: blue"> </SPAN><SPAN style="COLOR: red">Placement</SPAN><SPAN style="COLOR: blue">=</SPAN>"<SPAN style="COLOR: blue">Right</SPAN>"<SPAN style="COLOR: blue">&gt;<BR></SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TextBlock Text="<SPAN style="COLOR: blue">{Binding OriginalValue}</SPAN>"<SPAN style="COLOR: blue">/&gt;&nbsp; &lt;!--this uses the datacontext --&gt;</SPAN></P></SPAN></BLOCKQUOTE>
<P><SPAN>A second suggestion (Neil and Adam Smith) was that we could use PlacementTarget in the binding. This is nice, as I am actually inheriting the DataContext already from the page that hosts the DataControl, and this would allow the ToolTip to gain access back to the origial control. As Adam noted, though, you have to be aware of the parent/child structure off your markup:</SPAN></P>
<P><SPAN><SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><FONT color=#000000>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ToolTip Name="PreviousValue" Placement="Right"&nbsp;<BR></FONT></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><FONT color=#000000>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><SPAN style="COLOR: red">DataContext=”{Binding RelativeSource={RelativeSource Self},Path=PlacementTarget.Parent.Parent}”&gt;<BR></SPAN></SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><FONT color=#000000>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TextBlock Text="{Binding OriginalValue</FONT><S><SPAN style="COLOR: red">,ElementName=SGT</SPAN></S><FONT color=#000000>}"/&gt;<o:p></o:p></FONT></SPAN></P>
<P></SPAN>Hope that helps someone out there. Appologies if the formatting comes out odd; I pasted snippets right out of the emails.</P></SPAN>]]></content:encoded>
    </item>
    <item>
      <title>Back to the land of the living</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/back-to-the-land-of-the-living</link>
      <pubDate>Thu, 02 Nov 2006 12:48:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/11/02/back-to-the-land-of-the-living/</guid>
      <description><![CDATA[Well, it's been a few months. I haven't forgotten you guys! Just been busy. Here's a...]]></description>
      <content:encoded><![CDATA[<P>Well, it's been a few months. I haven't forgotten you guys! Just been busy. Here's a recap:</P>
<P><STRONG>August<BR></STRONG>Mark and&nbsp;I spent the end of August wrapping up work on CMS v2 (the internal Content Management System that coordinates everything that goes into the Vista SDK). The front end was finished pretty much on time, while the back end (based on <A class="" title="Windows Workflow Foundation" href="http://wf.netfx3.com/" target=_blank mce_href="http://wf.netfx3.com/">Windows Workflow Foundation</A>) ran a little long. </P>
<P><STRONG>September<BR></STRONG>A lot of testing on the front end, while work on the back end wrapped up. Mid-to-late-September a new PM was assigned to manage the project (Barry). CMS v2 was put on hold while he talked with various contributors and users of CMS v1, and created new specs for the work we'd already done.</P>
<P><STRONG>October</STRONG><BR>Barry continued working with our users, and started to add new features to the specs, based on that feedback. Most of these will be required before we roll out (now slated for November). There's some tension that's been forming here; I'll think about exploring those dynamics in another post. Or not. :P</P>
<P>The Windows DDK group started talking with our group; they'd like to leverage CMS, as they currently don't have an integrated&nbsp;workflow/change tracking system. We setup a server for them to bang on to see how CMS works and determine if they want to use it. Not only would it be cool to have my work be used by more than just this team, cross-group collaboration is an important review goal within Microsoft. :)</P>
<P>Since August was spent testing the front end as much as possible, I've spent October looking into <A class="" href="http://wpf.netfx3.com/" target=_blank mce_href="http://wpf.netfx3.com/">Windows Presentation Foundation</A>. I'm going to be working on a <A class="" href="http://www.zdnet.com.au/insight/software/soa/Investigating_Windows_Vista_s_breadcrumb_bar_/0,139023769,139218189,00.htm" mce_href="http://www.zdnet.com.au/insight/software/soa/Investigating_Windows_Vista_s_breadcrumb_bar_/0,139023769,139218189,00.htm">Breadcrumb Bar</A> sample, as well as possibly a Windows client to CMS (v1 and v2 were implemented in ASP.Net). I have to admit that creating properly databound applications in WPF/Avalon/XAML has been... challenging. I'll post more about that later.</P>
<P>In my spare time I've been picking up <A class="" href="http://msdn.microsoft.com/vstudio/extend/" mce_href="http://msdn.microsoft.com/vstudio/extend/">VSIP</A> and <A class="" href="http://msdn.microsoft.com/directx/XNA/default.aspx" mce_href="http://msdn.microsoft.com/directx/XNA/default.aspx">XNA</A>. I tell you, there just isn't enough time in the day to play with all these cool technologies.</P>
<P>And now we're up to date!</P>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft Gamefest 2006</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/microsoft-gamefest-2006</link>
      <pubDate>Thu, 17 Aug 2006 19:08:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/08/17/microsoft-gamefest-2006/</guid>
      <description><![CDATA[I made my way over to Gamefest was this week, a conference geared to game industry professionals...]]></description>
      <content:encoded><![CDATA[<P>I made my way over to <A href="https://www.microsoftgamefest.com/"><FONT color=#669966>Gamefest</FONT></A> was this week, a conference geared to game industry professionals (developers/testers/marketers). I was rather hoping that my manager would agree to cover it as a training expense, but that was a no-go. Fortunately, I was hooked up with a Microsoft discount code by a fellow employee.</P>
<P>What an amazing event. The catering was fantastic. The party on Monday was great (complete with a Segway slalom course). But the true excellence was the content of the conference itself. Sessions covered designing multi-core applications, managed code performance tricks, Direct3D 10 analysis, <A href="http://www.microsoft.com/xna/"><FONT color=#669966>XNA</FONT></A> (<A href="http://msdn.microsoft.com/directx/xna/gamestudio/"><FONT color=#669966>wow</FONT></A>!), and over a hundred more distinct talks.</P>
<P>One of the best sessions for me was Taming the CLR: How to Write Really Fast Managed Code by <A href="http://blogs.msdn.com/ricom"><FONT color=#669966>Rico Mariani</FONT></A>. I understand he has covered a lot of what he presented in his blog, and can't wait to check it out. I also found out he's in the same building as I am... I plan to chat with him about the talk when he gets back from vacation.</P>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft Picnic '06</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/microsoft-picnic-06</link>
      <pubDate>Thu, 27 Jul 2006 17:14:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/07/27/microsoft-picnic-06/</guid>
      <description><![CDATA[Every year, Microsoft schedules a weekend or the company picnic. I've never remembered to go before...]]></description>
      <content:encoded><![CDATA[<P>Every year, Microsoft schedules a weekend or the company picnic. I've never remembered to go before this year, so it was my first time there.</P>
<P>Several dozen busses showed up at the campus, and ferried everyone to a huge field an hour away. They handed out around five sheets of text, covered with activities that could be gone to, including RC racing, performance artists, rock climbing, bungee jumping, casinos, mystics tents, volleyball, Bingo, raffles, and loads more. Overall a very family friendly day of fun.</P>
<P><A href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com//tom_mathews/mspicnicfoodcourts.aspx" original-url="http://blogs.msdn.com/photos/tom_mathews/MS_Picnic_Food_Courts.aspx" target=_blank><IMG src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/00/68/06/80/FoodCourts.jpg" original-url="http://blogs.msdn.com/photos/tom_mathews/images/680680/640x142.aspx" border=0></A><BR>The food court was insane. Above you see something like 20+ locations you could pick up ice cream, burgers, chicken sandwiches, ribs, brownies, watermelon, etc. The picture covers probably 1/5th of the venue.</P>
<P>Of course, there was plenty of refreshments, too:<BR><A href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com//tom_mathews/680701.aspx" original-url="http://blogs.msdn.com/photos/tom_mathews/picture680701.aspx" target=_blank><IMG src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/00/68/07/01/Refreshments.JPG" original-url="http://blogs.msdn.com/photos/tom_mathews/images/680701/640x250.aspx" border=0></A></P>
<P>All set in the midst of an incredible view...<BR><A href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com//tom_mathews/680682.aspx" original-url="http://blogs.msdn.com/photos/tom_mathews/picture680682.aspx" target=_blank><IMG src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/00/68/06/82/Mountain.jpg" original-url="http://blogs.msdn.com/photos/tom_mathews/images/680682/640x236.aspx" border=0></A></P>]]></content:encoded>
    </item>
    <item>
      <title>Developing a game for the Motorola Q</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/developing-a-game-for-the-motorola-q</link>
      <pubDate>Mon, 24 Jul 2006 19:19:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/07/24/developing-a-game-for-the-motorola-q/</guid>
      <description><![CDATA[Just before I went on vacation, I picked up the Motorola Q, which runs Windows Mobile 5 Smartphone....]]></description>
      <content:encoded><![CDATA[<P>Just before I went on vacation, I picked up the <A href="http://www.motorola.com/q">Motorola Q</A>, which runs <A href="http://www.microsoft.com/windowsmobile/5/default.mspx">Windows Mobile 5</A> Smartphone. Microsoft is working with Verizon Mobile to offer a pretty hefty employee discount, both on the hardware as well as the service plans.</P>
<P>I downloaded the 900MB <A href="http://msdn.microsoft.com/mobility/windowsmobile/howto/resourcekit/default.aspx">Windows Mobile 5.0 Developer Resource Kit</A>, the <A href="http://www.microsoft.com/downloads/info.aspx?na=47&amp;p=2&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=3baa5b7d-04c1-4ec2-83dc-61b21ec5fe57&amp;u=details.aspx%3ffamilyid%3dDC6C00CB-738A-4B97-8910-5CD29AB5F8D9%26displaylang%3den">Windows Mobile 5.0 SDK for Smartphones</A>&nbsp;(possibly not necessary), <A href="http://www.microsoft.com/downloads/info.aspx?na=47&amp;p=3&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=3baa5b7d-04c1-4ec2-83dc-61b21ec5fe57&amp;u=details.aspx%3ffamilyid%3d7269173A-28BF-4CAC-A682-58D3233EFB4C%26displaylang%3den">ActiveSync 4.2</A>, the <A href="http://developer.motorola.com/?path=1.2.7.37.497">Motorola Q Developer Guide</A>, and the <A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=eb580a44-cb40-4be1-9ff3-e224bf669cd0&amp;DisplayLang=en">Emulator Image for the Q</A>&nbsp;(makes the smartphone emulator look just like a Q).</P>
<P>The first thing I did, of course, was try my hand at writing a game. I threw together something on my first day in Oregon, loosely based on geometry wars and implemented using GDI. A square is moved around on the screen, chased by circles that must be shot down. </P>
<P>I implemented it with techniques from a Design Patterns course I took earlier in the month. Shape objects have behavior objects (Decorator pattern) that can modify the owner (such as a Sin/Cos behavior, which alters the parent's course in an elliptical pattern, or a MoveToShip pattern that moves the shape towards the ship). The Shape object itself is an abstract class, with a GDI-specific implementation (Strategy pattern). Factories and adapters, oh my!&nbsp;</P>
<P><STRONG>A testament to patterns<BR></STRONG>Later that week I got around to adding a&nbsp;Managed DirectX implementation of the various objects, and it only took a couple of hours. This week I added black hole, which modifies all other objects on the screen to move towards the owner; it took less than 30 minutes to implement the new Behavior and add the code to instantiate it. <A href="http://www.amazon.com/gp/product/0321126971/103-6708476-8979831?v=glance&amp;n=283155">Design patterns </A>rock. :)</P>
<P>There will be a post soon about a couple odd problems I ran into.</P>]]></content:encoded>
    </item>
    <item>
      <title>Vacation</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/vacation</link>
      <pubDate>Fri, 21 Jul 2006 17:12:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/07/21/vacation/</guid>
      <description><![CDATA[Wow, it's been a month. Sorry for not posting recently, I was on vacation in Oregon for part of the...]]></description>
      <content:encoded><![CDATA[<P>Wow, it's been a month. Sorry for not posting recently, I was on vacation in Oregon for part of the time. There's a lot I want to blog about. So I'll be taking some time out today to compose several posts and schedule them to go out.</P>
<P>Work/Life balance is pretty important at Microsoft. Managers schedule morale events for the team, the group has morale events, the division has holiday parties, and you get a fair amount of vacation time. It's not like Europe, or so I hear. But it's pretty good from a USA perspective.</P>]]></content:encoded>
    </item>
    <item>
      <title>MAKE: Magazine lecture</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/make-magazine-lecture</link>
      <pubDate>Fri, 16 Jun 2006 18:58:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/06/16/make-magazine-lecture/</guid>
      <description><![CDATA[Today I went over to the conference center and watched a presentation put on by Dale Dougherty,...]]></description>
      <content:encoded><![CDATA[<P>Today I went over to the conference center and watched a presentation put on by <A href="http://www.oreillynet.com/pub/au/26">Dale Dougherty</A>, Editor and Publisher of Make, and <A href="http://www.lifehacker.com/software/how-i-work/how-i-work-phillip-torrone-173456.php">Phillip Torrone</A>, Associate Editor of <A href="http://www.makezine.com/">Make Magazine</A>.</P>
<P>It was a pretty interesting show. They had shirts and free magazines (gone by the time I got there), and a lot of sample made stuff. The presentation itself went into the reasons why they thought there was a maker resurgence, and the thinking behind what they did. Tidbits like: The trim size of Make was based off the 1959 Popular Science magazine, and the prescience of the <A href="http://ullamaaria.typepad.com/hobbyprincess/2005/03/draft_craft_man.html">Craft Manifesto</A>.</P>
<P>He also brought his <A href="http://www.makezine.com/blog/archive/2005/06/portable_rotary.html">portable rotary phone</A>. The first caller to ring his number (206-355-1XXX) received a gift. It was pretty odd hearing the old-school phone ring wirelessly. Over and over again as different callers made it through.</P>
<P>At the end, Microsofties had the opportunity to tell what they were making. Personal projects ranged from robots, to 30' working pirate ships with the kids for the back yard (complete with 50-calliber canons), to a compass that always shows the direction to the <A href="http://seattlepi.nwsource.com/business/261390_msfttechfest02.html">nearest starbucks</A>.</P>
<P>Finally, a few links I picked up:</P>
<UL>
<LI><A href="http://www.phidgetsusa.com/">Phidgets USA</A>, providers of lots of project parts.</LI>
<LI><A href="http://www.sparkfun.com">Spark Fun Electronics</A>, "Where most of my disposable income goes." -- Torrone</LI>
<LI><A href="http://www.instructables.com/">Instructables</A>, step-by-step project recipes and collaboration</LI></UL>
<P>"The best way to predict the future is to build it." </P>
<P>When I got back, I was telling Lance about the presentation. In the course of the dialog, he mentioned that he wanted to pick up C#. I pulled out one of the better C# books, <A href="http://www.microsoft.com/mspress/books/5861.asp">Inside C#</A>... and he said, "Doesn't that name look familiar?&nbsp;&nbsp; You sit next to him." Sure enough, <A href="http://blogs.msdn.com/tomarcher">Tom Archer</A> joined our team a few weeks ago, and sits in the office next to mine. I just hadn't made the connection yet. Small world!</P>]]></content:encoded>
    </item>
    <item>
      <title>XBox 360 System Update Beta</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/xbox-360-system-update-beta</link>
      <pubDate>Tue, 30 May 2006 19:09:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/05/30/xbox-360-system-update-beta/</guid>
      <description><![CDATA[Yet another perk to working at Microsoft. :)
I can't go into details, but I can say&nbsp; that I...]]></description>
      <content:encoded><![CDATA[<P>Yet another perk to working at Microsoft. :)</P>
<P>I can't go into details, but I can say&nbsp; that I was "invited to a Beta of an upcoming System Update, the same one disclosed in <A href="http://gamerscoreblog.com/team/archive/2006/05/26/535032.aspx">Gamerscoreblog.com</A> and <A href="http://www.pixelgamers.com/xbox360/news/1000658/33/a-new-tab-is-coming-to-xbox-live-dashboard,-but-what-is-it.html">other</A> sites. The beta is not open to more participants – we are not receiving applications."</P>
<P>It is very, very cool getting a chance to help out the XBox guys make sure their upcoming update is as solid as possible. And... it's amazing stuff they have coming. Good times.</P>]]></content:encoded>
    </item>
    <item>
      <title>Performance Engineering, Training, and Town Halls</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/performance-engineering-training-and-town-halls</link>
      <pubDate>Thu, 18 May 2006 19:47:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/05/18/performance-engineering-training-and-town-halls/</guid>
      <description><![CDATA[Last week I attended a two-day course on performance engineering. It was really high-level, and...]]></description>
      <content:encoded><![CDATA[<P>Last week I attended a two-day course on performance engineering. It was really high-level, and covered a lot of common-sense items, but it was still rather interesting. It looks like the "free ride" of processor speed improvements is coming to an end, and Microsoft is embracing the need to focus on performant features. This is a heartening decision, one that I hope sticks.</P>
<P>I took more than five pages of notes in Word, but a few takeaways were:</P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P>• You will be wrong more often that when you are right on your first guesses as to performance problems. The secret to greatness is weeding out the bad guesses as fast as possible.<BR>• An L1 cache miss is now as expensive as what a page miss used to cost to go to disk. -- If a register access took a second, a disk access would be a couple of weeks, and the internet would take most of a year.<BR>• Inefficiencies can happen in the app, but others can be in the OS or Hardware. Almost all of these can be reduced by changes in the application.<BR>• Amdahl’s Law: The performance that can be gained by using a faster mode of execution is limited by the fraction of time that does not execute faster.<BR>In other words: Focus on where the application is spending the most time.</P></BLOCKQUOTE>
<P><STRONG>Training</STRONG><BR>Speaking of training, there is a lot of it available. For example, just one of the several training websites available&nbsp;internally&nbsp;has 20 events coming up next week, ranging on topics from Secure Software and Developing with Design Patterns to ITIL Essentials and Designing for Performance on SQL Server 2005. And this doesn't include the hundreds of courses that were recorded and available as a webcast.</P>
<P><STRONG>Town Hall</STRONG><BR>I started this post while waiting for the Employee Town Hall webcast to start, which is also being broadcast to nine of the Cafe's. There was a <EM>lot</EM> of good stuff in it.&nbsp;The first&nbsp;1.5 hours&nbsp;brought us up to speed&nbsp;on what the different divisions were doing; the last half hour was the best, though, discussing&nbsp;changes to the review system.&nbsp;It is mostly moving away from the curve-based highly competitive ranking that existed before into the realm of individual performance-based rewards. This, in combination with the on-site/home-based perks announced (<A href="http://search.msn.com/results.aspx?q=Microsoft+%22towel+service%22&amp;FORM=QBHP">towels are back</A>!), is very good news indeed.<BR></P>]]></content:encoded>
    </item>
    <item>
      <title>Windows SDK now has a blog</title>
      <link>https://docs.microsoft.com/archive/blogs/tom_mathews/windows-sdk-now-has-a-blog</link>
      <pubDate>Wed, 10 May 2006 19:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Tom Mathews]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/tom_mathews/2006/05/10/windows-sdk-now-has-a-blog/</guid>
      <description><![CDATA[I forgot to mention it last month, but the group I'm in now has a blog: the&nbsp;Microsoft Windows...]]></description>
      <content:encoded><![CDATA[I forgot to mention it last month, but the group I'm in now has a blog: the&nbsp;<A HREF="/windowssdk/default.aspx"><FONT color=#0033cc>Microsoft Windows SDK Team Blog</FONT></A>. It's giving the PMs the opportunity to chat with you guys, as well as point out efforts such as the <A href="http://msdn.microsoft.com/windowsvista/downloads/developerstory/">Vista Developer Story</A>, which details the changes and opportunities that Vista will be bringing.]]></content:encoded>
    </item>
  </channel>
</rss>