title: How to make tooltip appear at fixed position (in this case: bottom left corner of page)
body: <p>I have several items (in the form of rectangles) inside a "Carousel" (which again is basically just a fancy PathListBox)</p>
  
  <p>When the mouse hovers over one of those rectangles, a tooltip with some information appears. The look of the rectangles is determined by a DataTemplate. The beginning of the xaml of this DataTemplate is displayed here:</p>
  
  <pre><code>&lt;Carousel:CarouselControl.DataTemplateToUse&gt;
  &lt;DataTemplate&gt;
      &lt;Grid ShowGridLines="True"&gt;
            &lt;Grid.ToolTip&gt;
                &lt;ToolTip Placement="Right" 
                        PlacementRectangle="50,0,0,0"
                        HorizontalOffset="10" 
                        VerticalOffset="20"
                        HasDropShadow="false"
                        PlacementTarget="{Binding ElementName=Box512}"
                        &gt;
                        &lt;BulletDecorator&gt;                                                   
                              &lt;TextBlock Text="{Binding Text}"/&gt;
                        &lt;/BulletDecorator&gt;
                &lt;/ToolTip&gt;
          &lt;/Grid.ToolTip&gt;
  
          //further xaml code defining the DataTemplate 
  </code></pre>
  
  <p>Just for completeness, this is the xaml for "Box512":</p>
  
  <pre><code>      &lt;Border x:Name="Box512" Grid.Row="2" Grid.Column="1"  Grid.RowSpan="4" 
                      Grid.ColumnSpan="2" BorderThickness="0" Opacity="0.5"&gt;
              &lt;Image&gt;
                  &lt;Image.Style&gt;
                      &lt;Style TargetType="Image"&gt;
                          &lt;Setter Property="Source" Value="Resources/Box512.ico"/&gt;
                      &lt;/Style&gt;
                  &lt;/Image.Style&gt;
              &lt;/Image&gt;
          &lt;/Border&gt;
  </code></pre>
  
  <p>The tooltip is supposed to be displayed at a fixed location in the bottom left corner of the page close to a XAML element with the name "Box512".</p>
  
  <p>To this end I used the "PlacementTarget"-Property of the tooltip. I tried (as you can see in the code above):</p>
  
  <pre><code> PlacementTarget="{Binding ElementName=Box512}"
  </code></pre>
  
  <p>This didn't work. INstead of in the left bottom corner of the page, the tooltip was still displayed at the rectangle over which the mouse hovered. I then tried: </p>
  
  <pre><code>        PlacementTarget="{x:Bind Box512}"  
  </code></pre>
  
  <p>... this didn't work either.</p>
  
  <p>So my question is: how can I make the tooltip appear at the same position near Box512 independent of which rectangle my mouse is hovering over?</p>
  
  <hr>
  
  <p>****************************ADDITIONAL INFORMATION***********************</p>
  
  <p>MainWindow.xaml:</p>
  
  <pre><code>&lt;Carousel:CarouselControl x:Name="CarouselControl"                                                             
                         ScaleRange="1.0,1.0" 
                         MaxNumberOfItemsOnPath="4"  
                         SelectedItem="{Binding CurrentData,Mode=TwoWay}"
                         SelectionChanged="CarouselControl_SelectionChanged"
                         ItemsSource="{Binding GraphItems}"      
                         CustomPathElement="{Binding ElementName=customPath}"&gt;
  
  &lt;Carousel:CarouselControl.DataTemplateToUse&gt;
       &lt;DataTemplate&gt;
  
     with this line of code the text inside the tooltip would get displayed BUT 
     the tooltip would not be in the desired location: 
  
     &lt;!--&lt;Grid ShowGridLines="True"&gt;--&gt;
  
    with this line of code the tooltip is empty but the tooltip 
    is displayed in the desired location: 
  
        &lt;Grid ShowGridLines="True" ToolTipService.PlacementTarget="{Binding 
        ElementName=Box512}"&gt;        
  
            &lt;Grid.ToolTip&gt;
              &lt;ToolTip Placement="Right" 
                  PlacementRectangle="50,0,0,0"
                  HorizontalOffset="10" 
                  VerticalOffset="20"
                  HasDropShadow="false"&gt;
                       &lt;BulletDecorator&gt;
                            &lt;BulletDecorator.Bullet&gt;
                                &lt;Ellipse Height="10" Width="20" Fill="Blue"/&gt;
                            &lt;/BulletDecorator.Bullet&gt;                         
                            &lt;TextBlock Text="{Binding Text}"/&gt;
                       &lt;/BulletDecorator&gt;
               &lt;/ToolTip&gt;
           &lt;/Grid.ToolTip&gt;
  
          //further xaml code defining the DataTemplate 
  
        &lt;/Grid&gt;
      &lt;/DataTemplate&gt;
    &lt;/Carousel:CarouselControl.DataTemplateToUse&gt;
  &lt;/Carousel:CarouselControl&gt;
  </code></pre>
  
  <p>MainWindow.cs:</p>
  
  <pre><code>public partial class MainWindow : Window
  {
       ///View Model for MainWindow.
       private ViewModels.MainWindowVM mainViewModel = null;
  
  
      public MainWindow()
      {
          InitializeComponent();
          //Initialize View Model
          mainViewModel = new ViewModels.MainWindowVM();
          //Set it as Data Context
          this.DataContext = mainViewModel;
  
          //Close-Event bound
          mainViewModel.RequestClose += delegate 
              (object sender, EventArgs e) { this.Close(); };
      }
  
  }
  </code></pre>
  
  <p>The GraphItems list is defined as a property of the MainViewModel:</p>
  
  <pre><code> private List&lt;GraphNode&gt; _GraphItems;
      public List&lt;GraphNode&gt; GraphItems
      {
        get { return _GraphItems; }
        private set
        {
          _cGraphItems = value;
          this.RaisePropertyChangedEvent("GraphItems");
        }
      }
  </code></pre>
  
  <p>The "Text" Property is associated with the GraphNode class:</p>
  
  <p>GraphNode.cs:</p>
  
  <pre><code>public class GraphNode : ObservableObject
    {
        ///GENERAL INFORMATION
          private string _Text;
          public string Text { 
             get { return _Text; } 
             set { _Text = value; this.RaisePropertyChangedEvent("Text"); } 
        }
  
       //more code
  
    }
  </code></pre>