当前位置: 首页 > news >正文

网站建设验收使用情况如何制作一个php网站源码

网站建设验收使用情况,如何制作一个php网站源码,专业的天津网站建设,建站行业突破将集合绑定到ItemsControl控件时#xff0c;会不加通告的在后台创建数据视图——位于数据源和绑定的控件之间。数据视图是进入数据源的窗口#xff0c;可以跟踪当前项#xff0c;并且支持各种功能#xff0c;如排序、过滤、分组。 这些功能和数据对象本身是相互独立的会不加通告的在后台创建数据视图——位于数据源和绑定的控件之间。数据视图是进入数据源的窗口可以跟踪当前项并且支持各种功能如排序、过滤、分组。 这些功能和数据对象本身是相互独立的这意味着可在窗口的不同部分使用不同的方式绑定相同的数据。例如可将同一个集合绑定到两个不同的列表并对集合进行过滤以显示不同的记录。来自于WPF编程宝典。我实测下来绑定自同一个数据源的ItemsControl控件会共享一个View当对该View进行筛选、排序时会应用到所有绑定到该数据源的控件。 获取视图的方法 ListCollectionView? view CollectionViewSource.GetDefaultView(filterListBox.ItemsSource) as ListCollectionView; ListCollectionView? view CollectionViewSource.GetDefaultView(Orders) as ListCollectionView;可以看到可以直接通过数据源来获取视图这也表明绑定到同一个数据源的控件会公用一个视图。 视图有 MoveCurrentToPrevious()、MoveCurrentToNext() 方法可以用于视图导航。 private void cmdPrev_Click(object sender, RoutedEventArgs e){View?.MoveCurrentToPrevious();}private void cmdNext_Click(object sender, RoutedEventArgs e){View?.MoveCurrentToNext();}private void view_CurrentChanged(object? sender, EventArgs e){lblPosition.Text Record (View?.CurrentPosition 1).ToString() of View?.Count.ToString();cmdPrev.IsEnabled View?.CurrentPosition 0;cmdNext.IsEnabled View?.CurrentPosition View?.Count - 1;} 视图排序 View.SortDescriptions.Add(new SortDescription(Volume, ListSortDirection.Ascending)); View.SortDescriptions.Add(new SortDescription(Price, ListSortDirection.Descending)); 视图分组 ListBox x:NamegroupListBox ItemsSource{Binding PathOrders}ListBox.ItemTemplateDataTemplateTextBlockTextBlock Text{Binding Price}/TextBlock - TextBlock Text{Binding Volume}/TextBlock/TextBlock/DataTemplate/ListBox.ItemTemplateListBox.GroupStyleGroupStyleGroupStyle.HeaderTemplateDataTemplateTextBlock Text{Binding PathName} FontWeightBold ForegroundWhite BackgroundLightGreen Margin0,5,0,0 Padding3//DataTemplate/GroupStyle.HeaderTemplate/GroupStyle/ListBox.GroupStyle /ListBox View.GroupDescriptions.Add(new PropertyGroupDescription(Volume)); 视图过滤 public class ProductByPriceFilterer {public ProductByPriceFilterer(decimal minimumPrice){MinimumPrice minimumPrice;}public decimal MinimumPrice { get; set; }public bool FilterItem(Object item){Order? order item as Order;if (order ! null){return order.Price MinimumPrice;}return false;} } public partial class MainWindow : Window {public MainWindow(){InitializeComponent();View (ListCollectionView)CollectionViewSource.GetDefaultView(Orders);View.IsLiveFiltering true;View.LiveFilteringProperties.Add(Price);}public ObservableCollectionOrder Orders { get; set; } new();private ListCollectionView? View;public decimal MinPrice { get; set; } 200;private ProductByPriceFilterer? filterer;private void cmdFilter_Click(object sender, RoutedEventArgs e){if (View ! null){filterer new ProductByPriceFilterer(MinPrice);View.Filter new Predicateobject(filterer.FilterItem);}}private void cmdRemoveFilter_Click(object sender, RoutedEventArgs e){if (View ! null){View.Filter null;}} } 完整代码文件 MainWindow.xaml Window x:ClassDataView.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:DataViewmc:IgnorabledTitleMainWindow Height450 Width800Grid NamemyGridGrid.ColumnDefinitionsColumnDefinition/ColumnDefinition//Grid.ColumnDefinitionsGrid.RowDefinitionsRowDefinition/RowDefinition/RowDefinition/RowDefinition HeightAuto//Grid.RowDefinitionsStackPanel Grid.Row0 Grid.Column0 StackPanel OrientationHorizontalButton NamecmdPrev ClickcmdPrev_Clicklt;/ButtonTextBlock NamelblPosition VerticalAlignmentCenter/TextBlockButton NamecmdNext ClickcmdNext_Clickgt;/Button/StackPanelListBox x:NamenavigateListBox DisplayMemberPathPrice IsSynchronizedWithCurrentItemTrue ItemsSource{Binding PathOrders}//StackPanelStackPanel Grid.Row0 Grid.Column1 HorizontalAlignmentStretch VerticalAlignmentStretchGridGrid.ColumnDefinitionsColumnDefinition/ColumnDefinitionColumnDefinition/ColumnDefinition/Grid.ColumnDefinitionsGrid.RowDefinitionsRowDefinition/RowDefinitionRowDefinition/RowDefinition/Grid.RowDefinitionsLabel Grid.Row0 Grid.Column0Price Than/LabelTextBox Grid.Row0 Grid.Column1 Text{Binding PathMinPrice}/TextBoxButton Grid.Row1 Grid.Column0 ClickcmdFilter_ClickFilter/ButtonButton Grid.Row1 Grid.Column1 ClickcmdRemoveFilter_ClickRemove Filter/Button/GridListBox NamefilterListBox DisplayMemberPathPrice ItemsSource{Binding PathOrders}//StackPanelStackPanel Grid.Row1 Grid.Column0ListBox x:NamegroupListBox ItemsSource{Binding PathOrders}ListBox.ItemTemplateDataTemplateTextBlockTextBlock Text{Binding Price}/TextBlock - TextBlock Text{Binding Volume}/TextBlock/TextBlock/DataTemplate/ListBox.ItemTemplateListBox.GroupStyleGroupStyleGroupStyle.HeaderTemplateDataTemplateTextBlock Text{Binding PathName} FontWeightBold ForegroundWhite BackgroundLightGreen Margin0,5,0,0 Padding3//DataTemplate/GroupStyle.HeaderTemplate/GroupStyle/ListBox.GroupStyle/ListBox/StackPanelButton Grid.Row2 Grid.Column0 ContentIncrease Price ClickIncreaseButton_Click/Button Grid.Row2 Grid.Column1 ContentDecrease Price ClickDecreaseButton_Click//Grid /WindowMainWindow.xaml.cs using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Globalization; using System.Runtime.CompilerServices; using System.Windows; using System.Windows.Controls; using System.Windows.Data;namespace DataView;public class ViewModelBase : INotifyPropertyChanged {public event PropertyChangedEventHandler? PropertyChanged;protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName null){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}protected virtual bool SetPropertyT(ref T member, T value, [CallerMemberName] string? propertyName null){if (EqualityComparerT.Default.Equals(member, value)){return false;}member value;OnPropertyChanged(propertyName);return true;} } public class Order : ViewModelBase {public decimal price 0;public decimal Price { get price; set SetProperty(ref price, value); }public int volume 0;public int Volume { get volume; set SetProperty(ref volume, value); }public DateTime orderDate DateTime.Now;public DateTime OrderDate { get orderDate; set SetProperty(ref orderDate, value); }public string image string.Empty;public string Image { get image; set SetProperty(ref image, value); } } public class ProductByPriceFilterer {public ProductByPriceFilterer(decimal minimumPrice){MinimumPrice minimumPrice;}public decimal MinimumPrice { get; set; }public bool FilterItem(Object item){Order? order item as Order;if (order ! null){return order.Price MinimumPrice;}return false;} } public class PriceRangeProductGrouper : IValueConverter {public int GroupInterval { get; set; }public object Convert(object value, Type targetType, object parameter, CultureInfo culture){decimal price (decimal)value;if (price GroupInterval){return string.Format(Less than {0:C}, GroupInterval);}else{int interval (int)price / GroupInterval;int lowerLimit interval * GroupInterval;int upperLimit (interval 1) * GroupInterval;return string.Format({0:C} to {1:C}, lowerLimit, upperLimit);}}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){throw new NotSupportedException(This converter is for grouping only.);} } public partial class MainWindow : Window {public MainWindow(){InitializeComponent();myGrid.DataContext this;InitOrders();InitView();}public void InitOrders(){Order order1 new Order();Order order2 new Order();Order order3 new Order();Order order4 new Order();order1.Price 100;order1.Volume 100;order1.Image image1.gif;order2.Price 1000;order2.Volume 100;order2.Image image2.gif;order3.Price 10000;order3.Volume 10000;order3.Image image3.gif;order4.Price 100000;order4.Volume 10000;order4.Image image4.gif;Orders.Add(order1);Orders.Add(order2);Orders.Add(order3);Orders.Add(order4);}private void InitView(){View (ListCollectionView)CollectionViewSource.GetDefaultView(Orders);if(View ! null){View.CurrentChanged new EventHandler(view_CurrentChanged);View.SortDescriptions.Add(new SortDescription(Volume, ListSortDirection.Ascending));View.SortDescriptions.Add(new SortDescription(Price, ListSortDirection.Descending));View.GroupDescriptions.Add(new PropertyGroupDescription(Volume));View.IsLiveFiltering true;View.LiveFilteringProperties.Add(Price);}}public ObservableCollectionOrder Orders { get; set; } new();private ListCollectionView? View;private void cmdPrev_Click(object sender, RoutedEventArgs e){View?.MoveCurrentToPrevious();}private void cmdNext_Click(object sender, RoutedEventArgs e){View?.MoveCurrentToNext();}private void view_CurrentChanged(object? sender, EventArgs e){lblPosition.Text Record (View?.CurrentPosition 1).ToString() of View?.Count.ToString();cmdPrev.IsEnabled View?.CurrentPosition 0;cmdNext.IsEnabled View?.CurrentPosition View?.Count - 1;}public decimal MinPrice { get; set; } 200;private ProductByPriceFilterer? filterer;private void cmdFilter_Click(object sender, RoutedEventArgs e){if (View ! null){filterer new ProductByPriceFilterer(MinPrice);View.Filter new Predicateobject(filterer.FilterItem);}}private void cmdRemoveFilter_Click(object sender, RoutedEventArgs e){if (View ! null){View.Filter null;}}private void IncreaseButton_Click(object sender, RoutedEventArgs e){foreach(var order in Orders){order.Price * 10;}}private void DecreaseButton_Click(object sender, RoutedEventArgs e){foreach (var order in Orders){order.Price / 10;}} }
http://www.yutouwan.com/news/120258/

相关文章:

  • 世界杯网站开发驻马店网站制作
  • 中山技术支持中山网站建设wordpress 小工具 文本
  • 荆州做网站公司最好盐城做网站的哪家公司好
  • 做迅雷下载电影类网站会侵权么什么是网络营销促销?
  • 有声小说网站开发优化师培训
  • 郑州 网站 公司免费观看电影电视剧的软件
  • 国外网站入口wordpress评论邮件通知
  • 网站建设联系数据库和wordpress
  • 兰州传诚网络科技有限公司外贸建站优化
  • 怎样做微课网站网站建设重要
  • wordpress更换域名后登陆不了后台济南网站seo厂家
  • 群晖wordpress搭建网站网络营销方式类型有哪些
  • 做类似于58同城的网站查建筑公司网站
  • 机械设备做公司网站怎么在qq上自己做网站
  • 受欢迎的丹阳网站建设深圳网站制作必选祥奔科技
  • 自动优化网站建设咨询建设平滑扣皮带网站
  • 容桂网站建设找顺的微分销商城系统
  • 视频网站做短视频google网站地图格式
  • wordpress 做的网站elision wordpress
  • 类似+wordpress+建站专业网站建设微信网站定制
  • 一个网站可以设多少关键词旅游网络营销如何做
  • 集团高端网站建设qq营销推广方法和手段
  • 济南网站建设系统介绍服务wordpress中英切换
  • 做展会怎么引流到自己的网站python基础教程pdf第三版
  • qq钓鱼网站在线生成器物联网 网站开发
  • 汕头网站制作电话汕头手机模板建站
  • 潍坊正规建设网站网站建设目标是什么意思
  • 可以建立网站的平台黑马程序员培训怎么样
  • 做网站赚钱吗 怎么赚钱网站设计速成
  • 烟台网站建设地址计算机软件开发培训机构