Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

VisualBrush.AutoLayoutContent Property

Gets or sets a value that specifies whether this VisualBrush will run layout its Visual. This is a dependency property.

Namespace: System.Windows.Media
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

public bool AutoLayoutContent { get; set; }
/** @property */
public boolean get_AutoLayoutContent ()

/** @property */
public void set_AutoLayoutContent (boolean value)

public function get AutoLayoutContent () : boolean

public function set AutoLayoutContent (value : boolean)

<object AutoLayoutContent="bool" .../>

Property Value

true if this Brush should run layout on its Visual; otherwise, false. The default value is true.

Identifier field

AutoLayoutContentProperty

Metadata properties set to true

None

Setting this property to true only has an effect when this brush's Visual is a non-parented UIElement.

The following example shows the effects of the AutoLayoutContent property on a non-parented UIElement.

StackPanel myStackPanel = new StackPanel();
myStackPanel.Margin = new Thickness(20, 0, 0, 0);
TextBlock myTextBlock = new TextBlock();
myTextBlock.Margin = new Thickness(0, 10, 0, 0);
myTextBlock.Text = "AutoLayoutContent: True";
myStackPanel.Children.Add(myTextBlock);

Rectangle myRectangle = new Rectangle();
myRectangle.Width = 100;
myRectangle.Height = 100;
myRectangle.Stroke = Brushes.Black;
myRectangle.StrokeThickness = 1;

// Create the Fill for the rectangle using a VisualBrush.
VisualBrush myVisualBrush = new VisualBrush();
myVisualBrush.AutoLayoutContent = true;

// This button is used as the visual for the VisualBrush.
Button myButton = new Button();
myButton.Content = "Hello, World";

myVisualBrush.Visual = myButton;

// Set the fill of the Rectangle to the Visual Brush.
myRectangle.Fill = myVisualBrush;

myStackPanel.Children.Add(myRectangle);

TextBlock myTextBlock2 = new TextBlock();
myTextBlock2.Margin = new Thickness(0, 10, 0, 0);
myTextBlock2.Text = "AutoLayoutContent: False";
myStackPanel.Children.Add(myTextBlock2);

Rectangle myRectangle2 = new Rectangle();
myRectangle2.Width = 100;
myRectangle2.Height = 100;
myRectangle2.Stroke = Brushes.Black;
myRectangle2.StrokeThickness = 1;

// Create the Fill for the rectangle using a VisualBrush.
VisualBrush myVisualBrush2 = new VisualBrush();
myVisualBrush2.AutoLayoutContent = false;

// This button is used as the visual for the VisualBrush.
Button myButton2 = new Button();
myButton2.Content = "Hello, World";
myButton2.Width = 100;
myButton2.Height = 100;

myVisualBrush2.Visual = myButton2;

// Set the fill of the Rectangle to the Visual Brush.
myRectangle2.Fill = myVisualBrush2;

myStackPanel.Children.Add(myRectangle2);

<StackPanel  Margin="20,0,0,0">
  <TextBlock Margin="0,10,0,0">AutoLayoutContent: True</TextBlock>
  <Rectangle 
    Width="100" 
    Height="100"
    Stroke="Black"
    StrokeThickness="1">
    <Rectangle.Fill>
      <VisualBrush AutoLayoutContent="True">
        <VisualBrush.Visual>
          <Button Content="Hello, World" />
        </VisualBrush.Visual>
      </VisualBrush>
    </Rectangle.Fill>
  </Rectangle>

  <TextBlock Margin="0,10,0,0">AutoLayoutContent: False</TextBlock>
  <Rectangle 
    Width="100" 
    Height="100"
    Stroke="Black"
    StrokeThickness="1">
    <Rectangle.Fill>
      <VisualBrush AutoLayoutContent="False">
        <VisualBrush.Visual>
          <Button Content="Hello, World" Width="100" Height="100" />
        </VisualBrush.Visual>
      </VisualBrush>
    </Rectangle.Fill>
  </Rectangle>
</StackPanel>

The following illustration shows the example's output:

AutoLayoutContent with a non-parented UIElement

The next example shows the effects of the AutoLayoutContent property on a parented UIElement.

// Create a name scope for the page.
NameScope.SetNameScope(this, new NameScope());

StackPanel myStackPanel = new StackPanel();
myStackPanel.Margin = new Thickness(20, 0, 0, 0);
TextBlock myTextBlock = new TextBlock();
myTextBlock.Margin = new Thickness(0, 10, 0, 0);
myTextBlock.Text = "The UIElement";
myStackPanel.Children.Add(myTextBlock);

Button myButton = new Button();
myButton.Content = "Hello, World";
myButton.Width = 70;
this.RegisterName("MyButton", myButton);
myStackPanel.Children.Add(myButton);

TextBlock myTextBlock2 = new TextBlock();
myTextBlock2.Margin = new Thickness(0, 10, 0, 0);
myTextBlock2.Text = "AutoLayoutContent: True";
myStackPanel.Children.Add(myTextBlock2);

Rectangle myRectangle = new Rectangle();
myRectangle.Width = 100;
myRectangle.Height = 100;
myRectangle.Stroke = Brushes.Black;
myRectangle.StrokeThickness = 1;

// Create the Fill for the rectangle using a VisualBrush.
VisualBrush myVisualBrush = new VisualBrush();
myVisualBrush.AutoLayoutContent = true;
Binding buttonBinding = new Binding();
buttonBinding.ElementName = "MyButton";
BindingOperations.SetBinding(myVisualBrush, VisualBrush.VisualProperty, buttonBinding);

// Set the fill of the Rectangle to the Visual Brush.
myRectangle.Fill = myVisualBrush;

// Add the first rectangle.
myStackPanel.Children.Add(myRectangle);

TextBlock myTextBlock3 = new TextBlock();
myTextBlock3.Margin = new Thickness(0, 10, 0, 0);
myTextBlock3.Text = "AutoLayoutContent: False";
myStackPanel.Children.Add(myTextBlock3);

Rectangle myRectangle2 = new Rectangle();
myRectangle2.Width = 100;
myRectangle2.Height = 100;
myRectangle2.Stroke = Brushes.Black;
myRectangle2.StrokeThickness = 1;

// Create the Fill for the rectangle using a VisualBrush.
VisualBrush myVisualBrush2 = new VisualBrush();
myVisualBrush2.AutoLayoutContent = false;
Binding buttonBinding2 = new Binding();
buttonBinding2.ElementName = "MyButton";
BindingOperations.SetBinding(myVisualBrush2, VisualBrush.VisualProperty, buttonBinding2);

// Set the fill of the Rectangle to the Visual Brush.
myRectangle2.Fill = myVisualBrush2;

myStackPanel.Children.Add(myRectangle2);


<StackPanel Margin="20,0,0,0">

  <TextBlock Margin="0,10,0,0">The UIElement</TextBlock>
  <Button Name="MyButton" Content="Hello, World" />

  <TextBlock Margin="0,10,0,0">AutoLayoutContent: True</TextBlock>
  <Rectangle 
        Width="100" 
        Height="100"
        Stroke="Black"
        StrokeThickness="1">
    <Rectangle.Fill>
      <VisualBrush Visual="{Binding ElementName='MyButton'}" />
    </Rectangle.Fill>
  </Rectangle>

  <TextBlock Margin="0,10,0,0">AutoLayoutContent: False</TextBlock>
  <Rectangle 
    Width="100" 
    Height="100"
    Stroke="Black"
    StrokeThickness="1">
    <Rectangle.Fill>
      <VisualBrush Visual="{Binding ElementName='MyButton'}" 
                   AutoLayoutContent="False"/>
    </Rectangle.Fill>
  </Rectangle>
</StackPanel>

The following illustration shows the example's output:

AutoLayoutContent with a parented UIElement

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft