Set margins, by changing any existing property value for the margin in code-behind with Thickness class

image_pdfimage_print


   
  

<StackPanel Name="root"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="WpfApplication1.FEMarginProgrammatic">
  <StackPanel.Resources>
      <Style TargetType="Button">
        <Setter Property="Height" Value="25"/>
        <Setter Property="Width" Value="250"/>
        <Setter Property="HorizontalAlignment" Value="Left"/>
        <Setter Property="FontSize" Value="20"/>    
      </Style>
  </StackPanel.Resources>
  <Button Click="OnClick" Margin="10" Name="btn1">Click To See Change!!</Button>
</StackPanel>

//File:Window.xaml.cs

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;

namespace WpfApplication1
{
    public partial class FEMarginProgrammatic {
        void OnClick(object sender, RoutedEventArgs e)
        {
            Thickness marginThickness = btn1.Margin;
            if(marginThickness.Left == 10)
            {
                 btn1.Margin = new Thickness(60);
            } else {
                 btn1.Margin = new Thickness(10);
            }
        }
    }
}