<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Height_MinHeight_MaxHeight.Window1"
Title="Height Properties Sample">
<StackPanel Margin="10">
<Canvas Height="200" MinWidth="200" Name="myCanvas">
<Rectangle HorizontalAlignment="Center" Canvas.Top="50" Canvas.Left="50" Name="rect1" Fill="#4682b4" Height="100" Width="100"/>
</Canvas>
<Button Name="Button1" Click="clipRect">Canvas.ClipToBounds="True"</Button>
<Button Name="Button2" Margin="0,5,5,5" Click="unclipRect">Canvas.ClipToBounds="False"</Button>
<TextBlock Grid.Row="1" Grid.Column="4" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MaxHeight:</TextBlock>
<ListBox Grid.Column="5" Grid.Row="1" Margin="10,0,0,0" Height="50" Width="50" SelectionChanged="changeMaxHeight">
<ListBoxItem>25</ListBoxItem>
<ListBoxItem>50</ListBoxItem>
<ListBoxItem>75</ListBoxItem>
<ListBoxItem>100</ListBoxItem>
<ListBoxItem>125</ListBoxItem>
<ListBoxItem>150</ListBoxItem>
<ListBoxItem>175</ListBoxItem>
<ListBoxItem>200</ListBoxItem>
</ListBox>
</StackPanel>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Controls;
using System.Windows.Documents;
namespace Height_MinHeight_MaxHeight
{
public partial class Window1 : Window
{
public void changeMaxHeight(object sender, SelectionChangedEventArgs args)
{
ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
Double sz1 = Double.Parse(li.Content.ToString());
rect1.MaxHeight = sz1;
rect1.UpdateLayout();
Console.WriteLine("ActualHeight is set to " + rect1.ActualHeight);
Console.WriteLine("Height is set to " + rect1.Height);
Console.WriteLine("MinHeight is set to " + rect1.MinHeight);
Console.WriteLine("MaxHeight is set to " + rect1.MaxHeight);
}
public void clipRect(object sender, RoutedEventArgs args)
{
myCanvas.ClipToBounds = true;
Console.WriteLine("Canvas.ClipToBounds is set to " + myCanvas.ClipToBounds);
}
public void unclipRect(object sender, RoutedEventArgs args)
{
myCanvas.ClipToBounds = false;
Console.WriteLine("Canvas.ClipToBounds is set to " + myCanvas.ClipToBounds);
}
}
}