public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     var config = value as ColumnConfig;
     if (config != null)
     {
         var gridView = new GridView();
         gridView.ColumnHeaderContainerStyle = Application.Current.FindResource("HeaderContainerStyle") as Style;
         gridView.ColumnHeaderTemplate = Application.Current.FindResource("HeaderTemplate") as DataTemplate;
         if (config.Columns != null)
         {
             foreach (var column in config.Columns)
             {
                 var bindingDisplayMember = new Binding(column.DataField);
                 if (IsStripMultiLinesInList)
                     bindingDisplayMember.Converter = stripMultiLineConverter;
                 GridViewColumn gvc = new GridViewColumn { Header = column, DisplayMemberBinding = bindingDisplayMember };
                 var bindingWidth = new Binding("IsVisible");
                 bindingWidth.Source = column;
                 bindingWidth.Converter = this.columnIsVisibleToWidthConverter;
                 BindingOperations.SetBinding(gvc, GridViewColumn.WidthProperty, bindingWidth);
                 gvc.SetValue(GridViewSort.PropertyNameProperty, bindingDisplayMember.Path.Path);
                 gridView.Columns.Add(gvc);
             }
         }
         return gridView;
     }
     return Binding.DoNothing;
 }
Esempio n. 2
0
        private static GridViewColumnResizeBehavior GetOrCreateBehavior(GridViewColumn element)
        {
            var behavior = element.GetValue(GridViewColumnResizeBehaviorProperty) as GridViewColumnResizeBehavior;
              if (behavior == null) {
            behavior = new GridViewColumnResizeBehavior(element);
            element.SetValue(GridViewColumnResizeBehaviorProperty, behavior);
              }

              return behavior;
        }
Esempio n. 3
0
 void UcTableView_SizeChanged(object sender, SizeChangedEventArgs e)
 {
     if (dt == null)
     {
         return;
     }
     _gridview.Columns.Clear();
     foreach (DataColumn c in dt.Columns)
     {
         GridViewColumn gvc = new GridViewColumn();
         gvc.Header = c.ColumnName;
         if (BShowDetails)
         {
             gvc.Width = (_listview.ActualWidth - 65) / dt.Columns.Count;
         }
         else
         {
             gvc.Width = (_listview.ActualWidth - 25) / dt.Columns.Count;
         }
         gvc.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Center);
         //gvc.DisplayMemberBinding = (new Binding(c.ColumnName));
         FrameworkElementFactory text = new FrameworkElementFactory(typeof(TextBlock));
         text.SetValue(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Center);
         text.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center);
         text.SetBinding(TextBlock.TextProperty, new Binding(c.ColumnName));
         DataTemplate dataTemplate = new DataTemplate() { VisualTree = text };
         gvc.CellTemplate = dataTemplate;
         _gridview.Columns.Add(gvc);
     }
     if (BShowDetails)
     {
         GridViewColumn gvc_details = new GridViewColumn();
         gvc_details.Header = "详情";
         FrameworkElementFactory button_details = new FrameworkElementFactory(typeof(Button));
         button_details.SetResourceReference(Button.HorizontalContentAlignmentProperty, HorizontalAlignment.Center);
         button_details.SetValue(Button.WidthProperty, 40.0);
         button_details.AddHandler(Button.ClickEvent, new RoutedEventHandler(details_Click));
         button_details.SetBinding(Button.TagProperty, new Binding(dt.Columns[1].ColumnName));
         button_details.SetValue(Button.ContentProperty, ">>");
         button_details.SetValue(Button.ForegroundProperty, Brushes.Blue);
         button_details.SetValue(Button.FontSizeProperty, 14.0);
         button_details.SetBinding(Button.VisibilityProperty, new Binding(dt.Columns[0].ColumnName) { Converter = new VisibleBtnConverter() });
         DataTemplate dataTemplate_details = new DataTemplate() { VisualTree = button_details };
         gvc_details.CellTemplate = dataTemplate_details;
         _gridview.Columns.Add(gvc_details);
     }
     _listview.ItemsSource = null;
     _listview.ItemsSource = dt.DefaultView;
 }
Esempio n. 4
0
        public static void TaskGridViewColumnSetLabelText(GridViewColumn col, string route, PropertyRoute context)
        {
            DependencyProperty labelText = GridViewColumn.HeaderProperty;

            if (labelText != null && col.NotSet(labelText))
            {
                string text = context.PropertyInfo.NiceName();

                col.SetValue(labelText, text);
            }
        }
Esempio n. 5
0
        //private List<int> sumColumns = new List<int>();

        public void SetDataTable(DataTable _dt, string title, List<int> columnNumbers)
        {
            this.dt = _dt.Copy();
            this.title = title;
            this.columnNumbers = columnNumbers;
            _title.Text = "▪ " + title;

            _gridview.Columns.Clear();
            foreach (DataColumn c in dt.Columns)
            {
                GridViewColumn gvc = new GridViewColumn();
                gvc.Header = c.ColumnName;
                gvc.Width = (_listview.ActualWidth - 40) / dt.Columns.Count - 44;
                //gvc.DisplayMemberBinding = (new Binding(c.ColumnName));
                FrameworkElementFactory text = new FrameworkElementFactory(typeof(TextBlock));
                text.SetValue(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Center);
                text.SetValue(TextBlock.TextAlignmentProperty, TextAlignment.Center);
                text.SetBinding(TextBlock.TextProperty, new Binding(c.ColumnName));
                DataTemplate dataTemplate = new DataTemplate() { VisualTree = text };
                gvc.CellTemplate = dataTemplate;
                gvc.SetValue(HorizontalAlignmentProperty, HorizontalAlignment.Center);
                _gridview.Columns.Add(gvc);
            }
            if (BShowDetails)
            {
                GridViewColumn gvc_details = new GridViewColumn();
                gvc_details.Header = "详情";
                FrameworkElementFactory button_details = new FrameworkElementFactory(typeof(Button));
                button_details.SetResourceReference(Button.HorizontalContentAlignmentProperty, HorizontalAlignment.Center);
                button_details.SetValue(Button.WidthProperty, 40.0);
                button_details.AddHandler(Button.ClickEvent, new RoutedEventHandler(details_Click));
                button_details.SetBinding(Button.TagProperty, new Binding(dt.Columns[1].ColumnName));
                button_details.SetValue(Button.ContentProperty, ">>");
                button_details.SetValue(Button.ForegroundProperty, Brushes.Blue);
                button_details.SetValue(Button.FontSizeProperty, 14.0);
                button_details.SetBinding(Button.VisibilityProperty, new Binding(dt.Columns[0].ColumnName) { Converter = new VisibleBtnConverter() });
                DataTemplate dataTemplate_details = new DataTemplate() { VisualTree = button_details };
                gvc_details.CellTemplate = dataTemplate_details;
                _gridview.Columns.Add(gvc_details);
            }
            _listview.ItemsSource = dt.DefaultView;
        }
		public static void SetSortProperty( GridViewColumn owner, String value )
		{
			owner.SetValue( SortPropertyProperty, value );
		}
		public static void SetFill( GridViewColumn owner, Boolean value )
		{
			owner.SetValue( FillProperty, value );
		}
Esempio n. 8
0
 public static void SetSortDirection(GridViewColumn element, ListSortDirection? value)
 {
     element.SetValue(SortDirectionProperty, value);
 }
Esempio n. 9
0
 public static void SetCanUseSort(GridViewColumn element, bool value)
 {
     element.SetValue(CanUseSortProperty, value);
 }
Esempio n. 10
0
 public static void SetSortExpression(GridViewColumn element, string value)
 {
     element.SetValue(SortExpressionProperty, value);
 }
 public static void SetSortPropertyName(GridViewColumn obj, string value)
 {
     obj.SetValue(SortPropertyNameProperty, value);
 }
Esempio n. 12
0
        public BonusBoxHunter()
        {
            InitializeComponent();

            ItemIdMap = new Dictionary<String, ItemInformation>();
            HeaderPropertyMap = new Dictionary<String, String>();

            ListViewColumnItem[] Columns = new ListViewColumnItem[]
            {
                new ListViewColumnItem("ID",      "ID",              5,     HorizontalAlignment.Center),
                new ListViewColumnItem("地图",    "Map",             20,    HorizontalAlignment.Center),
                new ListViewColumnItem("物品",    "Item",            20,    HorizontalAlignment.Left),
                new ListViewColumnItem("状态",    "Status",          1,     HorizontalAlignment.Center),
                new ListViewColumnItem("X",       "ActorX",          1,     HorizontalAlignment.Left),
                new ListViewColumnItem("Y",       "ActorY",          1,     HorizontalAlignment.Left),
                new ListViewColumnItem("Z",       "ActorZ",          1,     HorizontalAlignment.Left),
                new ListViewColumnItem("描述",    "Description",     50,    HorizontalAlignment.Center),
            };

            Func<Double, long> GetWidth = (Double percent) =>
                                            {
                                                return (long)Math.Ceiling(percent * Columns.Length / 100);
                                            };

            var lvlmgr = new ListViewLayoutManager(bonusBoxList);

            lvlmgr.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
            lvlmgr.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;
            lvlmgr.AttachScrollViewerScrollChanged = true;

            Style headerStyle = new Style();
            headerStyle.Setters.Add(new Setter(Control.BackgroundProperty, Brushes.White));

            bonusBoxGridView.SetValue(GridView.ColumnHeaderContainerStyleProperty, headerStyle);

            foreach (var col in Columns)
            {
                HeaderPropertyMap[col.Header] = col.Binding;

                GridViewColumn column = new GridViewColumn();

                column.Header = col.Header;
                column.CellTemplate = CreateColumnTemplate(col.Binding, col.Alignment);
                column.SetValue(GridViewColumn.HeaderContainerStyleProperty, headerStyle);

                bonusBoxGridView.Columns.Add(ProportionalColumn.ApplyWidth(column, GetWidth(col.WidthPercent)));
            }

            //String boxinfo = @"E:\Desktop\Source\Hooks\EDAO\Decompiler\GameData\box.json";
            String boxinfo = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + "\\box.json";

            try
            {
                InitializeBonusBoxInfo(boxinfo);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return;
            }
        }
Esempio n. 13
0
 /// <summary>
 /// Setzt den Wert der angefügten IsSortAtClickEnabled Abhängigkeitseigenschaft für eine bestimmte <see cref="System.Windows.Controls.GridViewColumn"/>.
 /// </summary>
 /// <param name="gvc">Die <see cref="System.Windows.Controls.GridViewColumn"/> deren Wert gesetzt werdne soll.</param>
 /// <param name="value">Der zu setzende Wert. <c>true</c> wenn das Sortierren der Spalte erlaubt ist; andernfalls <c>false</c></param>
 public static void SetIsSortAtClickEnabled(GridViewColumn gvc, bool value)
 {
     gvc.SetValue(IsSortAtClickEnabledProperty, value);
 }
Esempio n. 14
0
		public static void SetSortComparer(GridViewColumn element, IItemComparer value)
		{
			element.SetValue(SortComparerProperty, value);
		}