• 搭建Wpf框架(8) —— 3D展示墙


    源码是从3DWall改造的,忘了哪下载的了,没办法贴上原链接了。

    1.将UseControl改造成Control控件,这样可以在用的地方改模板即可。(内容控件的DataTemplate)

    2.将Wall显示控件改成类似与ItemSource的绑定

    3.实现了横向排列和竖向排列。

    4.3D部分没有改,就用的原先的。

    5.Popupwindow当然也改成了可自定义内容的控件。

    最后使用的时候简化如下:

    <UserControl.Resources>
    <!--模型1-->
    <DataTemplate DataType="{x:Type model:WallItemData}">
    <Grid>
    <Image x:Name="PART_Image" Source="{Binding Source}" Stretch="UniformToFill"/>
    </Grid>
    </DataTemplate>
    </UserControl.Resources>


    <wall:WallControl ItemsSource="{Binding Datas}" x:Name="_mainwall" />

    其中:WallItemData为用户自定义的类,Datas为WallItemData集合。效果图如下:

     源码地址:https://gitee.com/akwkevin/aistudio.-util.-layout

    另外,当然要集成到我们的系统当中去啦。

    将DataTemplate替换成

    <DataTemplate DataType="{x:Type model:_3DItemData}">
    <Border BorderBrush="{DynamicResource MahApps.Brushes.Accent}" BorderThickness="1">
    <Grid Width="200" Height="200">
    <Grid.RowDefinitions>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Border Background="{DynamicResource MahApps.Brushes.Accent}">
    <TextBlock VerticalAlignment="Center" Text="{Binding Label}" Foreground="{DynamicResource MahApps.Brushes.Text}" Margin="2,2" IsHitTestVisible="False" />
    </Border>
    <ContentControl Grid.Row="1" Content="{Binding Content}"/>
    </Grid>
    </Border>
    </DataTemplate>

    使用 <utilwall:WallControl x:Name="_mainwall" Grid.Row="1" FillAll="False" Orientation="Vertical"  ItemsSource="{Binding User3DData.Data}" >

    效果图如下:

     效果一般般吧,还是3D照片墙好看,或者波形图也可以,一些统计的页面。

    最后源码地址:艾竹/AIStudio.Wpf.AClient (gitee.com) 

    作者:竹天笑
    互相学习,提高自己。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    ES6基础之——对象表达式
    ES6基础之——函数的名字name属性
    ES6基础之——解构参数 Destructured Parameters
    ES6基础之——展开操作符Spread和剩余操作符Rest
    ES6基础之——箭头函数Arrow Fuctions
    ES6基础——默认参数 Default Parameter Values
    node.js 调用第三方服务
    node 创建server 及加载静态页面
    VUE插件-图片濑加载
    Less函数说明
  • 原文地址:https://www.cnblogs.com/akwkevin/p/14757287.html
Copyright © 2020-2023  润新知