首页 > 代码库 > Studio for WPF:使用 C1TileView 创建图片库

Studio for WPF:使用 C1TileView 创建图片库

C1TileView 提供了数据交互浏览的功能。允许我们设置最大化和最小化浏览模板,我们可以通过最小化模板快速定位详细浏览选项。

下面我们分步分享实现方法:

1.添加 C1TileView 到窗体,并且添加 8 个 C1TileViewItem。

2.添加 Image 地址作为 C1TileViewItem 显示内容,并且设置 Header 属性为图片名。

<c1:C1TileViewItem Header="Jellyfish.jpg"
Content="Images/Jellyfish.jpg" />

<style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style>

设置最小化位置:

<c1:C1TileView Name="c1TileView1"
MinimizedItemsPosition="Bottom" UpdateSourceCollection="False">

<style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style>

3.添加资源模板,添加最大化和最小化模板:

<UserControl.Resources>
    <DataTemplate x:Key="template">
        <Grid>
            <Image Source="{Binding}" />
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="mintemplate">
        <Grid Width="100" Height="75">
            <Image Source="{Binding}" />
        </Grid>
    </DataTemplate>
    <Style TargetType="c1:C1TileViewItem">
        <Setter Property="Padding" Value="0" />
        <Setter Property="ContentTemplateMinimized" Value="{StaticResource mintemplate}" />
        <Setter Property="ContentTemplateMaximized" Value="{StaticResource template}" />
        <Setter Property="ContentTemplate" Value="{StaticResource template}" />
    </Style>
</UserControl.Resources>

<style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style>

使用以上模板既可以完成图片浏览库的功能:

详细代码:

<UserControl x:Class="TileViewPhotos.MainPage"
    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"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400" xmlns:c1="http://schemas.componentone.com/winfx/2006/xaml">
    <UserControl.Resources>
        <DataTemplate x:Key="template">
            <Grid>
                <Image Source="{Binding}" />
            </Grid>
        </DataTemplate>
        <DataTemplate x:Key="mintemplate">
            <Grid Width="100" Height="75">
                <Image Source="{Binding}" />
            </Grid>
        </DataTemplate>
        <Style TargetType="c1:C1TileViewItem">
            <Setter Property="Padding" Value="0" />
            <Setter Property="ContentTemplateMinimized" Value="{StaticResource mintemplate}" />
            <Setter Property="ContentTemplateMaximized" Value="{StaticResource template}" />
            <Setter Property="ContentTemplate" Value="{StaticResource template}" />
        </Style>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White">
        <c1:C1TileView Name="c1TileView1" MinimizedItemsPosition="Bottom" UpdateSourceCollection="False">
            <c1:C1TileViewItem Header="Chrysanthemum.jpg" Content="Images/Chrysanthemum.jpg" />
            <c1:C1TileViewItem Header="Desert.jpg" Content="Images/Desert.jpg" />
            <c1:C1TileViewItem Header="Hydrangeas.jpg" Content="Images/Hydrangeas.jpg" />
            <c1:C1TileViewItem Header="Jellyfish.jpg" Content="Images/Jellyfish.jpg" />
            <c1:C1TileViewItem Header="Koala.jpg" Content="Images/Koala.jpg" />
            <c1:C1TileViewItem Header="Lighthouse.jpg" Content="Images/Lighthouse.jpg" />
            <c1:C1TileViewItem Header="Penguins.jpg" Content="Images/Penguins.jpg" />
            <c1:C1TileViewItem Header="Tulips.jpg" Content="Images/Tulips.jpg" />       
        </c1:C1TileView>
    </Grid>
</UserControl>
 
更多关于 Studio for WPF 控件及特性,请参考:
 
<style type="text/css">.csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } </style>

http://www.gcpowertools.com.cn/products/componentone_studio_wpf.htm