Newer
Older
SubCabinetSolution / SubCabinetSolution / Views / InquirePage.xaml
<Page
    x:Class="SubCabinetSolution.Views.InquirePage"
    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:i="http://schemas.microsoft.com/expression/2010/interactivity"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="InquirePage"
    d:DesignHeight="450"
    d:DesignWidth="800"
    mc:Ignorable="d">
    <Page.DataContext>
        <Binding Path="InquirePage" Source="{StaticResource Locator}" />
    </Page.DataContext>

    <Grid Background="White">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition Width="800" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>

        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="600" />
            <RowDefinition />
        </Grid.RowDefinitions>

        <ListBox
            Grid.Row="1"
            Grid.Column="1"
            HorizontalAlignment="Center"
            VerticalAlignment="Center"
            BorderThickness="0"
            ItemsSource="{Binding InquireModels}">

            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <i:InvokeCommandAction Command="{Binding InquireSelectedCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListBox}}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>

            <ListBox.Template>
                <ControlTemplate TargetType="{x:Type ListBox}">
                    <WrapPanel IsItemsHost="True" Orientation="Horizontal" />
                </ControlTemplate>
            </ListBox.Template>

            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border
                        x:Name="ListBoxItemBorder"
                        Background="White"
                        CornerRadius="10,10,10,10">
                        <Border.Effect>
                            <DropShadowEffect
                                Opacity="0.5"
                                RenderingBias="Performance"
                                ShadowDepth="3"
                                Color="LightCyan" />
                        </Border.Effect>
                        <Grid
                            Width="150"
                            Height="150"
                            HorizontalAlignment="Center"
                            VerticalAlignment="Center">
                            <Grid.RowDefinitions>
                                <RowDefinition Height="2*" />
                                <RowDefinition Height="*" />
                            </Grid.RowDefinitions>
                            <Border
                                Width="80"
                                Height="80"
                                Background="{StaticResource MainThemeColor}"
                                CornerRadius="10,10,10,10">
                                <Image
                                    Width="48"
                                    Height="48"
                                    Source="{Binding Image}" />
                            </Border>

                            <TextBlock
                                Grid.Row="1"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Center"
                                FontFamily="微软雅黑"
                                FontSize="16"
                                Foreground="{StaticResource MainTextColor}"
                                Text="{Binding Title}"
                                TextAlignment="Center" />
                        </Grid>
                    </Border>

                    <DataTemplate.Triggers>
                        <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}, AncestorLevel=1}}" Value="True">
                            <Setter Property="IsHitTestVisible" Value="True" />
                            <Setter TargetName="ListBoxItemBorder" Property="Background" Value="LightCyan" />
                            <Setter TargetName="ListBoxItemBorder" Property="TextBlock.Foreground" Value="SeaGreen" />
                        </DataTrigger>
                    </DataTemplate.Triggers>
                </DataTemplate>
            </ListBox.ItemTemplate>

            <ListBox.ItemContainerStyle>
                <Style TargetType="{x:Type ListBoxItem}">
                    <Setter Property="OverridesDefaultStyle" Value="True" />
                    <Setter Property="HorizontalContentAlignment" Value="Center" />
                    <Setter Property="Margin" Value="50,15" />
                    <Setter Property="Width" Value="150" />
                    <Setter Property="Height" Value="150" />
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type ListBoxItem}">
                                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </ListBox.ItemContainerStyle>
        </ListBox>
    </Grid>
</Page>