How to bind DataGridColumn.Visibility?

前端 未结 9 1924
悲哀的现实
悲哀的现实 2020-12-10 03:46

I have an issue similar to the following post:

Silverlight DataGridTextColumn Binding Visibility

I need to have a Column within a Silverlight DataGrid be vis

9条回答
  •  爱一瞬间的悲伤
    2020-12-10 03:51

    This works on a data grid template column:

    public class ExtendedDataGridColumn : DataGridTemplateColumn
    {
        public static readonly DependencyProperty VisibilityProperty = DependencyProperty.Register("Visibility", typeof(Visibility), typeof(DataGridTemplateColumn), new PropertyMetadata(Visibility.Visible, VisibilityChanged));
        public new Visibility Visibility
        {
            get { return (Visibility)GetValue(VisibilityProperty); }
            set { SetValue(VisibilityProperty, value); }
        }
        private static void VisibilityChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if ((DataGridTemplateColumn)d != null)
            {
                ((DataGridTemplateColumn)d).Visibility = (Visibility)e.NewValue;
            }
        }
    }
    

提交回复
热议问题