Programmatically change the Stretch and StretchDirection of content within a Viewbox. : Viewbox « Windows Presentation Foundation « VB.Net






Programmatically change the Stretch and StretchDirection of content within a Viewbox.

Programmatically change the Stretch and StretchDirection of content within a Viewbox.
      


<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="Viewbox_Stretch_Layout_Samp.Window1"
    Title="ViewBox Stretch and StretchDirection Sample">

  <DockPanel Background="White">
        <StackPanel HorizontalAlignment="Center" Orientation="Horizontal" DockPanel.Dock="Top">
            <Button Name="btn1" Click="stretchNone">Stretch="None"</Button>
            <Button Name="btn2" Click="stretchFill">Stretch="Fill"</Button>
            <Button Name="btn3" Click="stretchUni">Stretch="Uniform"</Button>
            <Button Name="btn4" Click="stretchUniFill">Stretch="UniformToFill"</Button>
            <Button Name="btn5" Click="sdUpOnly">StretchDirection="UpOnly"</Button>
            <Button Name="btn6" Click="sdDownOnly">StretchDirection="DownOnly"</Button>
            <Button Name="btn7" Click="sdBoth">StretchDirection="Both"</Button>
         </StackPanel>        
        
        <TextBlock DockPanel.Dock="Top" Name="txt1" />
        <TextBlock DockPanel.Dock="Top" Name="txt2" />
        
        <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
            <Viewbox MaxWidth="500" MaxHeight="500" Name="vb1">
                <Image Source="c:\image.jpg"/>
            </Viewbox>    
        </StackPanel>
  </DockPanel>
</Window>

//File:Window.xaml.vb

Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents

Namespace Viewbox_Stretch_Layout_Samp
  Public Partial Class Window1
    Inherits Window
    Public Sub stretchNone(sender As Object, e As RoutedEventArgs)
      vb1.Stretch = System.Windows.Media.Stretch.None
      txt1.Text = "Stretch is now set to None."
    End Sub

    Public Sub stretchFill(sender As Object, e As RoutedEventArgs)
      vb1.Stretch = System.Windows.Media.Stretch.Fill
      txt1.Text = "Stretch is now set to Fill."
    End Sub

    Public Sub stretchUni(sender As Object, e As RoutedEventArgs)
      vb1.Stretch = System.Windows.Media.Stretch.Uniform
      txt1.Text = "Stretch is now set to Uniform."
    End Sub

    Public Sub stretchUniFill(sender As Object, e As RoutedEventArgs)
      vb1.Stretch = System.Windows.Media.Stretch.UniformToFill
      txt1.Text = "Stretch is now set to UniformToFill."
    End Sub

    Public Sub sdUpOnly(sender As Object, e As RoutedEventArgs)
      vb1.StretchDirection = System.Windows.Controls.StretchDirection.UpOnly
      txt2.Text = "StretchDirection is now UpOnly."
    End Sub

    Public Sub sdDownOnly(sender As Object, e As RoutedEventArgs)
      vb1.StretchDirection = System.Windows.Controls.StretchDirection.DownOnly
      txt2.Text = "StretchDirection is now DownOnly."
    End Sub

    Public Sub sdBoth(sender As Object, e As RoutedEventArgs)
      vb1.StretchDirection = System.Windows.Controls.StretchDirection.Both
      txt2.Text = "StretchDirection is now Both."
    End Sub
  End Class
End Namespace

   
    
    
    
    
    
  








Related examples in the same category

1.Specifying a ViewboxSpecifying a Viewbox
2.Viewbox with absolute unitsViewbox with absolute units
3.Using Viewbox and put Canvas into itUsing Viewbox and put Canvas into it
4.Specifying a Stretch for ViewBoxSpecifying a Stretch for ViewBox
5.ViewBox StretchDirectionViewBox StretchDirection
6.Radial gradient fillsRadial gradient fills