| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 | <Window x:Class="InABox.Wpf.MessageWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"        xmlns:local="clr-namespace:InABox.Wpf"        mc:Ignorable="d"        Width="350"        MinWidth="350"        SizeToContent="Height"        x:Name="Window"        WindowStartupLocation="CenterScreen"        DataContext="{Binding ElementName=Window}">    <Window.Resources>        <DataTemplate x:Key="ButtonTemplate" DataType="local:MessageWindowButton">            <Button Content="{Binding Content}"                    MinWidth="75" Padding="5" Margin="5"                    Click="Button_Click"                    Tag="{Binding}">            </Button>        </DataTemplate>    </Window.Resources>    <Grid x:Name="Grid">        <Grid.RowDefinitions>            <RowDefinition Height="*" MinHeight="100"/>            <RowDefinition Height="Auto"/>            <RowDefinition MaxHeight="150">                <RowDefinition.Style>                    <Style TargetType="RowDefinition">                        <Setter Property="Height" Value="0"/>                        <Style.Triggers>                            <DataTrigger Binding="{Binding ShowDetails}" Value="True">                                <Setter Property="Height" Value="*"/>                            </DataTrigger>                        </Style.Triggers>                    </Style>                </RowDefinition.Style>            </RowDefinition>        </Grid.RowDefinitions>        <Border Grid.Row="0" BorderBrush="LightGray" BorderThickness="1"                Margin="2" Padding="5" Background="White">            <DockPanel>                <Image x:Name="ImageControl" Margin="5" Source="{Binding Image}"                       DockPanel.Dock="Left" MaxWidth="50" MaxHeight="50">                    <Image.Style>                        <Style TargetType="Image">                            <Setter Property="Visibility" Value="Visible"/>                            <Style.Triggers>                                <DataTrigger Binding="{Binding Image}" Value="{x:Null}">                                    <Setter Property="Visibility" Value="Collapsed"/>                                </DataTrigger>                            </Style.Triggers>                        </Style>                    </Image.Style>                </Image>                <TextBlock x:Name="MessageBox" Text="{Binding Message}"                           TextWrapping="Wrap"                           Margin="5" VerticalAlignment="Center"                           DockPanel.Dock="Right"/>            </DockPanel>        </Border>        <Border Grid.Row="1"                Background="WhiteSmoke" BorderBrush="Gray" BorderThickness="1" Margin="2,0,2,2">            <Grid>                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="Auto"/>                    <ColumnDefinition Width="*"/>                    <ColumnDefinition Width="Auto"/>                </Grid.ColumnDefinitions>                <ItemsControl ItemsSource="{Binding LeftButtons}"                              Grid.Column="0"                              ItemTemplate="{StaticResource ButtonTemplate}">                    <ItemsControl.ItemsPanel>                        <ItemsPanelTemplate>                            <StackPanel Orientation="Horizontal"/>                        </ItemsPanelTemplate>                    </ItemsControl.ItemsPanel>                </ItemsControl>                <ItemsControl ItemsSource="{Binding RightButtons}"                              Grid.Column="2"                              ItemTemplate="{StaticResource ButtonTemplate}">                    <ItemsControl.ItemsPanel>                        <ItemsPanelTemplate>                            <StackPanel Orientation="Horizontal"/>                        </ItemsPanelTemplate>                    </ItemsControl.ItemsPanel>                </ItemsControl>            </Grid>        </Border>        <Border Grid.Row="2" BorderBrush="LightGray" BorderThickness="1"                Margin="2" Padding="2" Background="White">            <ScrollViewer VerticalScrollBarVisibility="Auto">                <Border BorderBrush="LightGray" BorderThickness="1"                        Background="WhiteSmoke">                    <TextBlock x:Name="DetailsBox" Text="{Binding Details}"                               TextWrapping="Wrap"                               Padding="5" VerticalAlignment="Center"/>                </Border>            </ScrollViewer>        </Border>    </Grid></Window>
 |