精华内容
下载资源
问答
  • WPF数据加载效果

    2011-09-23 15:33:23
    WPF数据加载效果,很巧妙的动态效果。 看一看就明白了,很有意思的。
  • 纯手写完成WPF时钟加载动画,可直接复制粘贴到你使用的项目中,纯原生,纯手写,使用圆角半角计算公式,圆周率公式,计算得出动画运行速度和运行角度。
  • 懒树视图 WPF惰性数据加载TreeView
  • WPF调用Echart,通过JS与WPF数据交换,传递JSON进行数据显示
  • wpf listbox animation 添加数据 添加行 动画
  • WPF数据查询

    2021-01-20 19:33:05
    WPF数据查询 开发工具与关键技术:Visual Studio 2015、WPF 作者:易金亮 撰写时间:2020.12.18 我们都知道,任何一个项目都离不开数据,我们一般都是把数据建立在数据库中,然后通过代码将数据库中的数据展示在...

    WPF数据查询

    开发工具与关键技术:Visual Studio 2015、WPF
    作者:易金亮
    撰写时间:2020.12.18
    

    我们都知道,任何一个项目都离不开数据,我们一般都是把数据建立在数据库中,然后通过代码将数据库中的数据展示在项目页面上,然后在页面对数据进行操作,那么我们是如何把数据库中的数据展示在页面上的呢,下面我们来说说WPF中是如何把数据库中的数据展示在页面上的,首先我们在看看展示效果,如下截图所示:
    在这里插入图片描述

    如上截图所示,这就是我们数据在页面的一个展示效果,下面我们就来说说这一效果是如何实现的,首先我们在数据库中建立一个存储过程,然后写一个查询的方法,代码如下:

    IF(@type='btnProduct_Click_Product')
    	BEGIN
    		SELECT   ROW_NUMBER () over(order by   SYS_ProductDetail.ProductDetailID) as number,
    		         RTRIM(SYS_Product.GradeNameCod) as GradeNameCod ,
    		         RTRIM(SYS_Product.GradeName) as GradeName,
    				 RTRIM(SYS_ProductCategory.ProductCategory) as ProductCategory, 
    				 RTRIM(SYS_CupType.CupTypeName) as CupTypeName, 
    				 RTRIM(SYS_ProductDetail.MarketUnitPrice)as MarketUnitPrice, 
    				 RTRIM(SYS_ProductDetail.CostUnitPrice) as CostUnitPrice, 
    			     RTRIM(SYS_ProductDetail.Integral)as Integral,
    				 RTRIM(SYS_ProductDetail.MemberPrice) as MemberPrice,
    				  SYS_Product.ProductCategoryID,
    				  SYS_ProductDetail.ProductDetailID, 
    				  SYS_ProductDetail.ProductID,
    				  SYS_ProductDetail.CupTypeID,
    				  SYS_Product.Picture
    		FROM      SYS_Product INNER JOIN
    						   SYS_ProductDetail ON SYS_Product.ProductID = SYS_ProductDetail.ProductID INNER JOIN
    						   SYS_ProductCategory ON SYS_Product.ProductCategoryID = SYS_ProductCategory.ProductCategoryID INNER JOIN
    						   SYS_CupType ON SYS_ProductDetail.CupTypeID = SYS_CupType.CupTypeID
            ORDER BY	SYS_ProductDetail.ProductDetailID DESC
    
    	END
    

    通过以上代码查询数据,然后是服务端,其代码如下:

    #region 查询产品信息
            //操作契约
            [OperationContract]
            public DataSet btnProduct_Click_Product()
            {
                SqlParameter[] mySQL =
                {
                    new SqlParameter("@type",SqlDbType.Char),
                };
                //给对象数组赋值
                mySQL[0].Value = "btnProduct_Click_Product";
                DataSet ds = myDAL.QueryDataSet("UC_Product", mySQL);
                return ds;
            }
    

    通过服务端把数据查询出来,最后我们再在客户端加载事件中把数据绑定上去,其代码如下所示:

    #region
    绑定页面数据
    dt = myClient.btnProduct_Click_Product().Tables[0];
    dgvProduct.ItemsSource = dt.DefaultView;
    #endregion

    这样,我们就成功得将数据库中的数据绑定在了页面上。

    展开全文
  • wpf 加载数据背景灰掉的程序 控制了数据加载完成时禁止操作的效果
  • WPF Geometry 添加Path数据 ... 原文:WPF Geometry 添加Path数据当图片转svg,svg转Xaml后,根据数据加载显示图片 DrawingImage: 1 <DrawingImage x:Key="Image.Search"> 2 <DrawingImage.Dr...
    原文: WPF Geometry 添加Path数据

    当图片转svg,svg转Xaml后,根据数据加载显示图片

    DrawingImage:

     1     <DrawingImage x:Key="Image.Search">
     2         <DrawingImage.Drawing>
     3             <GeometryDrawing>
     4                 <GeometryDrawing.Brush>
     5                     <SolidColorBrush Color="#FF666666" Opacity="0.5" />
     6                 </GeometryDrawing.Brush>
     7                 <GeometryDrawing.Geometry>
     8                     <PathGeometry FillRule="Nonzero"
     9                               Figures="M6.5,2C4.01471853256226,2 2,4.01471853256226 1.99999988079071,6.5 2,8.98528099060059 4.01471853256226,11 6.5,11 8.98528099060059,11 11,8.98528099060059 11,6.5 11,4.01471853256226 8.98528099060059,2 6.5,2z M6.5,1.00000011920929C9.53756618499756,1 12,3.46243381500244 12,6.5 12,7.65749835968018 11.6424360275269,8.73148345947266 11.03173828125,9.61752414703369L13.9562683105469,12.5420551300049C14.3431911468506,12.9289779663086 14.3429946899414,13.5565004348755 13.9497470855713,13.9497470855713 13.5592231750488,14.3402719497681 12.923752784729,14.3379669189453 12.5420551300049,13.9562683105469L9.61752414703369,11.03173828125C8.73148345947266,11.6424360275269 7.65749835968018,12 6.5,12 3.46243381500244,12 1,9.53756618499756 0.999999940395355,6.5 1,3.46243381500244 3.46243381500244,1 6.5,1.00000011920929z" />
    10                 </GeometryDrawing.Geometry>
    11             </GeometryDrawing>
    12         </DrawingImage.Drawing>
    13     </DrawingImage>

    也有可能,同时也需要Geometry:

    1     <StreamGeometry x:Key="Path.Stream.Search">
    2         M6.5,2C4.01471853256226,2 2,4.01471853256226 1.99999988079071,6.5 2,8.98528099060059 4.01471853256226,11 6.5,11 8.98528099060059,11 11,8.98528099060059 11,6.5 11,4.01471853256226 8.98528099060059,2 6.5,2z M6.5,1.00000011920929C9.53756618499756,1 12,3.46243381500244 12,6.5 12,7.65749835968018 11.6424360275269,8.73148345947266 11.03173828125,9.61752414703369L13.9562683105469,12.5420551300049C14.3431911468506,12.9289779663086 14.3429946899414,13.5565004348755 13.9497470855713,13.9497470855713 13.5592231750488,14.3402719497681 12.923752784729,14.3379669189453 12.5420551300049,13.9562683105469L9.61752414703369,11.03173828125C8.73148345947266,11.6424360275269 7.65749835968018,12 6.5,12 3.46243381500244,12 1,9.53756618499756 0.999999940395355,6.5 1,3.46243381500244 3.46243381500244,1 6.5,1.00000011920929z
    3     </StreamGeometry>

    如何将俩种引用方式,提取Path数据重用?

    StreamGeometry不行, 没有相应的属性可以支持。。。。

    所以我们换个Geomery,虽然没有StreamGeometry性能好。。。

     同时,使用PathFigureCollection装载Path数据,然后PathGeometry、DrawingImage 引用资源。

     1     <PathFigureCollection x:Key="PathData">M6.5,2C4.01471853256226,2 2,4.01471853256226 1.99999988079071,6.5 2,8.98528099060059 4.01471853256226,11 6.5,11 8.98528099060059,11 11,8.98528099060059 11,6.5 11,4.01471853256226 8.98528099060059,2 6.5,2z M6.5,1.00000011920929C9.53756618499756,1 12,3.46243381500244 12,6.5 12,7.65749835968018 11.6424360275269,8.73148345947266 11.03173828125,9.61752414703369L13.9562683105469,12.5420551300049C14.3431911468506,12.9289779663086 14.3429946899414,13.5565004348755 13.9497470855713,13.9497470855713 13.5592231750488,14.3402719497681 12.923752784729,14.3379669189453 12.5420551300049,13.9562683105469L9.61752414703369,11.03173828125C8.73148345947266,11.6424360275269 7.65749835968018,12 6.5,12 3.46243381500244,12 1,9.53756618499756 0.999999940395355,6.5 1,3.46243381500244 3.46243381500244,1 6.5,1.00000011920929z</PathFigureCollection>
     2     <PathGeometry x:Key="Path.Search" Figures="{StaticResource PathData}"/>
     3     <DrawingImage x:Key="Image.Search">
     4         <DrawingImage.Drawing>
     5             <GeometryDrawing>
     6                 <GeometryDrawing.Brush>
     7                     <SolidColorBrush Color="#FF666666" Opacity="0.5" />
     8                 </GeometryDrawing.Brush>
     9                 <GeometryDrawing.Geometry>
    10                     <PathGeometry FillRule="Nonzero"
    11                               Figures="{StaticResource PathData}" />
    12                 </GeometryDrawing.Geometry>
    13             </GeometryDrawing>
    14         </DrawingImage.Drawing>
    15     </DrawingImage>

     

     

    显示效果:

     1 <Window x:Class="WpfApp8.MainWindow"
     2         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     3         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     4         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     5         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     6         xmlns:local="clr-namespace:WpfApp8"
     7         xmlns:sys="clr-namespace:System;assembly=mscorlib"
     8         mc:Ignorable="d"
     9         Title="MainWindow" Height="450" Width="800">
    10     <Window.Resources>
    11         <StreamGeometry x:Key="Path.Stream.Search">
    12             M6.5,2C4.01471853256226,2 2,4.01471853256226 1.99999988079071,6.5 2,8.98528099060059 4.01471853256226,11 6.5,11 8.98528099060059,11 11,8.98528099060059 11,6.5 11,4.01471853256226 8.98528099060059,2 6.5,2z M6.5,1.00000011920929C9.53756618499756,1 12,3.46243381500244 12,6.5 12,7.65749835968018 11.6424360275269,8.73148345947266 11.03173828125,9.61752414703369L13.9562683105469,12.5420551300049C14.3431911468506,12.9289779663086 14.3429946899414,13.5565004348755 13.9497470855713,13.9497470855713 13.5592231750488,14.3402719497681 12.923752784729,14.3379669189453 12.5420551300049,13.9562683105469L9.61752414703369,11.03173828125C8.73148345947266,11.6424360275269 7.65749835968018,12 6.5,12 3.46243381500244,12 1,9.53756618499756 0.999999940395355,6.5 1,3.46243381500244 3.46243381500244,1 6.5,1.00000011920929z
    13         </StreamGeometry>
    14 
    15     <PathFigureCollection x:Key="PathData">M6.5,2C4.01471853256226,2 2,4.01471853256226 1.99999988079071,6.5 2,8.98528099060059 4.01471853256226,11 6.5,11 8.98528099060059,11 11,8.98528099060059 11,6.5 11,4.01471853256226 8.98528099060059,2 6.5,2z M6.5,1.00000011920929C9.53756618499756,1 12,3.46243381500244 12,6.5 12,7.65749835968018 11.6424360275269,8.73148345947266 11.03173828125,9.61752414703369L13.9562683105469,12.5420551300049C14.3431911468506,12.9289779663086 14.3429946899414,13.5565004348755 13.9497470855713,13.9497470855713 13.5592231750488,14.3402719497681 12.923752784729,14.3379669189453 12.5420551300049,13.9562683105469L9.61752414703369,11.03173828125C8.73148345947266,11.6424360275269 7.65749835968018,12 6.5,12 3.46243381500244,12 1,9.53756618499756 0.999999940395355,6.5 1,3.46243381500244 3.46243381500244,1 6.5,1.00000011920929z</PathFigureCollection>
    16     <PathGeometry x:Key="Path.Search" Figures="{StaticResource PathData}"/>
    17     <DrawingImage x:Key="Image.Search">
    18         <DrawingImage.Drawing>
    19             <GeometryDrawing>
    20                 <GeometryDrawing.Brush>
    21                     <SolidColorBrush Color="#FF666666" Opacity="0.5" />
    22                 </GeometryDrawing.Brush>
    23                 <GeometryDrawing.Geometry>
    24                     <PathGeometry FillRule="Nonzero"
    25                               Figures="{StaticResource PathData}" />
    26                 </GeometryDrawing.Geometry>
    27             </GeometryDrawing>
    28         </DrawingImage.Drawing>
    29     </DrawingImage>
    30     </Window.Resources>
    31     <Grid>
    32         <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
    33             <Path Fill="Red" Data="{StaticResource Path.Stream.Search}"/>
    34             <Path Fill="Red" Data="{StaticResource Path.Search}"/>
    35             <Image Source="{StaticResource Image.Search}" Margin="0 10 0 0" Stretch="None"></Image>
    36         </StackPanel>
    37     </Grid>
    38 </Window>
    View Code

     

    posted on 2019-04-09 14:00 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

    转载于:https://www.cnblogs.com/lonelyxmas/p/10676495.html

    展开全文
  • LoadingMask(WPF加载数据loading遮罩)

    千次下载 热门讨论 2012-09-23 11:27:41
    LoadingMask(WPF加载数据loading遮罩) 博客地址http://blog.csdn.net/lhx527099095/article/details/8005095
  • WPF Datagrid 大量数据加载问题

    千次阅读 2018-12-26 18:00:35
    需求:自定义Datagrid样式加载大量数据,至少5000条,加载速度的快慢统计? 第一步:自定义Datagrid样式 这个就不多说了,可以参照以下这篇博客,代码...问题:由于样式太多,大量数据加载时,渲染会变得特别慢,500...

    需求:自定义Datagrid样式加载大量数据,至少5000条,加载速度的快慢统计?

    第一步:自定义Datagrid样式
    这个就不多说了,可以参照以下这篇博客,代码什么都有,根据自己想要的样式修改就行
    https://blog.csdn.net/qq_20758141/article/details/80845793

    第二步:加载大量数据
    问题:由于样式太多,大量数据加载时,渲染会变得特别慢,5000条数据加载画面就需要4分钟左右,这样肯定是不行的!
    解决:使用Datagrid自带的虚拟化

    具体
    主要是要理解ScrollViewer.CanContentScroll这个属性的作用
    简单说一下,这个属性设置为True时,表示Datagrid按照逻辑加载;
    设置为False时,表示Datagrid按照像素加载。

    区别就是:像素加载在大量数据的时候会非常耗性能
    两者具体理解可参照以下博客:https://www.bbsmax.com/A/D854gWVpJE/

    注意:很多人在刚刚接触到Datagrid的时候都会有一个疑问,就是滚动条滚动到最后的时候会发现最后多出了一行?这个原因就是,Datagrid默认把ScrollViewer.CanContentScroll设置为True了,按照逻辑加载了。
    这个问题的解决方案是:将VirtualizingPanel.ScrollUnit属性设置为Pixel

    展开全文
  • wpf 数据虚拟化

    2018-02-01 17:07:43
    WPF显示大量数据时,为了提高显示速度,采用虚拟化技术
  • WPF DataGrid 添加数据 与 删除数据

    千次阅读 2020-08-28 08:38:30
    //给控件添加列 private void Button_Click(object sender, RoutedEventArgs e) { DataRow dr = dt1.NewRow(); for (int columIndex = 0; columIndex ; columIndex++) dr[columIndex] = "New Row - " + columIndex....

    界面图片

    <DataGrid ItemsSource="{Binding}"      x:Name="DataGrid1" Grid.Row="0" FontSize="12" HorizontalAlignment="Left" Margin="20,40,0,0" VerticalAlignment="Top" Height="172" Width="353"  />

    将DataGrid命名为DataGrid1,给后面调用的时候使用。

    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Forms;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using DevExpress.Mvvm.Native;
    using NationalInstruments.Restricted;
    using UserControl = System.Windows.Controls.UserControl;
    
    namespace WPFdemos.view
    {
        /// <summary>
        /// paramCheck.xaml 的交互逻辑
        /// </summary>
        public partial class paramCheck : UserControl
        {
            private double[] ul = new double[] { 20, 60, 200, 100 };
            private int[] mm  =new int[] {120,150,200,400};
    
            private double[] ul2 = new double[] {1.00,2.00 };
            private int[] mm2 = new int[] {  4,8 };
    
            public paramCheck()
            {
                InitializeComponent();
    
                dt1.Columns.Add(new DataColumn("体   积                        (  ul  )"));
                dt1.Columns.Add(new DataColumn("距   离                        (  mm  )"));
                
                DataRow dr;
                for (int i = 0; i < ul.Length; i++)
                {
                    dr = dt1.NewRow();
                    dr[0] = ul[i].ToString("0.00");
                    dr[1] = mm[i].ToString();
                    dt1.Rows.Add(dr);
                }
                DataGrid1.ItemsSource = dt1.DefaultView;//将dt1赋给DataGrid1 
            }
    
            private DataTable dt1 = new DataTable();
            private DataTable dt2 = new DataTable();
    
    
            //给控件添加列
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                DataRow dr = dt1.NewRow();
                for (int columIndex = 0; columIndex < dt1.Columns.Count; columIndex++)
                    dr[columIndex] = "New Row - " + columIndex.ToString();
                dt1.Rows.Add(dr);
            }
    
            private void Button_Click_2(object sender, RoutedEventArgs e)
            {
                DataRowView dwView = (DataGrid1.SelectedItem) as DataRowView;//当前选中列
                if (dwView != null)
                {
                    dwView.Delete();//删除选中列 
                }            
            }
     
    
            
        }
    }
    

    多说一句DataGrid获取当前行,

    如果是在点击DataGrid或者其他与DataGrid相关的方法里,可以尝试这样做:

    DataRowView dwView = ((((System.Windows.Controls.DataGrid)DataGrid1).SelectedItem) as DataRowView);

     

     

    这里,datatable的列宽我不知道怎么修改。只能用笨办法tab撑宽列宽。如果有小伙伴有好方法,请分享给我,谢谢。

    展开全文
  • 相信大家在阅读WPF相关GitHub开源项目源码时都会看见一串串这种数据 这种Geometry数据就是几何图形数据 为什么要用Geometry数据做图标? 有一种做法是使用ttf字体文件代替,不过使用ttf字体文件会出现下面几个缺点...
  • WPF 数据绑定之ValidationRule数据校验 一、概述 我们知道,Binding好比架设在Source和Target之间的桥梁,数据可以借助这个桥梁进行流通。在数据流通的过程中,我们可以在Binding这座桥梁上设置关卡,对数据的有效性...
  • WPF数据绑定之数据模板

    千次阅读 2009-10-09 20:38:00
    WPF 数据模板模型为定义数据的表示提供了很大的灵活性。WPF 控件具有支持自定义数据表示的内置功能。本主题首先演示如何定义 DataTemplate,然后介绍其他数据模板功能,例如根据自定义逻辑选择模板和支持显示分层...
  • WPF数据绑定

    2015-09-24 09:30:02
    WPF中不同的依赖属性有不同的默认,默认情况Lable.Content可以绑定到集合的Count属性上去,而TextBox.Text就不可以。因为Count属性是只读的。除非显示设置BindingMode 为OneWay或OneTime , TwoWay和OneWayToSource...
  • Wpf DataGrid添加数据项时控制垂直滚动条显示最新添加数据项 1、DataGrid添加ScrollViewer.ScrollChanged事件 <DataGrid ItemsSource="{Binding xxx}" ScrollViewer.ScrollChanged="DataGrid_ScrollChanged">...
  • WPF 数据绑定

    千次阅读 2011-08-24 15:45:18
    数据绑定关键是System.Windows.Data.Binding对象,会将2个属性粘在一起,并在它们间建立通信信道。 1.代码实现绑定 //创建一绑定对象 Binding binding = new Binding(); //设置数据源对象(此处数据源来
  • WPF数据绑定详解

    千次阅读 2011-10-28 15:02:52
    Windows Presentation Foundation (WPF) 数据绑定为应用程序提供了一种简单而一致的方法来显示数据以及与数据交互。元素可以以公共语言运行库 (CLR) 对象和 XML 的形式绑定到各种数据源的数据。ContentControl(如 ...
  • WPF ListView 数据加载

    2018-02-07 12:27:00
    实现方式:当滑动条触底时,加载数据 xaml代码: <ListView ScrollViewer.ScrollChanged="ListView_ScrollChanged"></ListView> //事件代码 private void ListView_ScrollChanged(object ...
  • WPF数据定时更新

    2020-03-19 16:59:11
    ObservableCollection 每次添加数据都会造成UI更新,UI处理不了每秒上千次的更新 问题的解决 定时更新UI ,但ObservableCollection未提供此功能,所幸大牛做了ObservableCollection的延时更新扩展 http...
  • WPF数据国际化的实现

    2011-07-22 23:35:28
    WPF中界面国际化很容易实现,但是数据国际化确实是一个难题。为了解决项目中的需求,我设计了解决方案。 思路: 1.在数据库中,需要国际化的字段存放国际化key值; 2.在xaml中创建多套国际化,key为数据库中的值...
  • Wpf数据表格- DataGrid

    2020-08-09 08:45:36
    Wpf数据表格- DataGrid ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Visual Studio 2015、WPF 作者: 梁柏源 撰写时间:2020/08/07 ~~~~~~~~~~~~~~~~~~~~~~~~~~...
  • WPF 数据模板 (三) 数据模板选择器 前言 最近项目需要动态根据属性动态选择数据模板,研究了一下写了一个数据据模板选择器 分享一下。 首先了解一下 DataTemplateSelector: System.Windows.Controls....
  • WPF(五)举例讲解WPF数据绑定

    千次阅读 2010-05-26 14:39:00
    举例讲解WPF数据绑定 本来想通过WPF白皮书来讲解,看完过后发现过于详细,很多东西不是那么容易让人理解,便在网上收集了部分东西进行整理。也包括自己总结的部分。 要使用 WPF 数据绑定功能,您必须始终要有目标...
  • WPF数据自动滚动的效果实现

    千次阅读 2019-12-17 11:50:59
    WPF ListBox如何实现动态加载数据,并且滚动条自动下拉 1、UI <Window x:Class="ForTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="...
  • WPF数据绑定(一)

    2018-08-03 15:43:45
    使用Windows Presentation Foundation (WPF) 可以很方便的设计出强大的用户...WPF数据绑定跟Winform与ASP.NET中的数据绑定功能类似,但也有所不同,在 WPF中以通过后台代码绑定、前台XAML中进行绑定,或者两者组...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,706
精华内容 9,482
关键字:

wpf数据加载