title: Applying LayoutTransform only to parent but not to any particular child
body: <p><strong>MainWindow.XAML:</strong></p>
  
  <pre><code>&lt;Window x:Class="TestWPFApp.MainWindow"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              Name="myMainWindow"
              Title="MainWindow" Width="200" Height="250"&gt;
          &lt;Grid Name="MainGrid" SizeChanged="MainGrid_SizeChanged"&gt;
              &lt;Grid.LayoutTransform&gt;
                  &lt;ScaleTransform x:Name="ApplicationScaleTransform"
                              CenterX="0"
                              CenterY="0"
                              ScaleX="{Binding ElementName=myMainWindow, Path=ScaleValue}"
                              ScaleY="{Binding ElementName=myMainWindow, Path=ScaleValue}" /&gt;
              &lt;/Grid.LayoutTransform&gt;
              &lt;Grid VerticalAlignment="Center" HorizontalAlignment="Center" Height="150"&gt;
                  &lt;TextBlock FontSize="20" Text="Hello World" Margin="5" VerticalAlignment="Top" HorizontalAlignment="Center"/&gt;
                  &lt;Button Content="Button" VerticalAlignment="Bottom" HorizontalAlignment="Center" Name="myButton"/&gt;
              &lt;/Grid&gt;
          &lt;/Grid&gt;
  
      &lt;/Window&gt;
  </code></pre>
  
  <p><strong>Main Window CodeBehind:</strong></p>
  
  <pre><code> public partial class MainWindow : Window
      {
          public MainWindow()
          {
              InitializeComponent();
          }
  
          #region ScaleValue Depdency Property
          public static readonly DependencyProperty ScaleValueProperty = DependencyProperty.Register("ScaleValue", typeof(double), typeof(MainWindow), new UIPropertyMetadata(1.0, new PropertyChangedCallback(OnScaleValueChanged), new CoerceValueCallback(OnCoerceScaleValue)));
  
          private static object OnCoerceScaleValue(DependencyObject o, object value)
          {
              MainWindow mainWindow = o as MainWindow;
              if (mainWindow != null)
                  return mainWindow.OnCoerceScaleValue((double)value);
              else
                  return value;
          }
  
          private static void OnScaleValueChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
          {
              MainWindow mainWindow = o as MainWindow;
              if (mainWindow != null)
                  mainWindow.OnScaleValueChanged((double)e.OldValue, (double)e.NewValue);
          }
  
          protected virtual double OnCoerceScaleValue(double value)
          {
              if (double.IsNaN(value))
                  return 1.0f;
  
              value = Math.Max(0.1, value);
              return value;
          }
  
          protected virtual void OnScaleValueChanged(double oldValue, double newValue)
          {
  
          }
  
          public double ScaleValue
          {
              get
              {
                  return (double)GetValue(ScaleValueProperty);
              }
              set
              {
                  SetValue(ScaleValueProperty, value);
              }
          }
          #endregion
  
          private void MainGrid_SizeChanged(object sender, EventArgs e)
          {
              CalculateScale();
          }
  
          private void CalculateScale()
          {
              double yScale = ActualHeight / 250f;
              double xScale = ActualWidth / 200f;
              double value = Math.Min(xScale, yScale);
              ScaleValue = (double)OnCoerceScaleValue(MainGrid, value);
          }
      }
  </code></pre>
  
  <p>I have this sample application. I am applying <strong>LayoutTransform</strong> on the MainGrid to scale application with the resize of window. How can i avoid my control <strong>myButton</strong> to apply that transform? I dont want that transform to apply on it.</p>