Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Try this</p> <pre><code>public partial class MainWindow : Window { private List&lt;string&gt; visibleColumns; public MainWindow() { InitializeComponent(); InitializeList(); visibleColumns = GetVisibleColumns(); dg.AutoGeneratingColumn += dg_AutoGeneratingColumn; dg.ItemsSource = Templates; } void dg_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) { if(!visibleColumns.Contains(e.Column.Header.ToString())) e.Column.Visibility=Visibility.Collapsed; } List&lt;string&gt; GetVisibleColumns() { return typeof(Template).GetProperties() .Where(p =&gt; p.GetCustomAttributes(typeof(Visible), true) .Where(ca =&gt; ((Visible)ca).IsVisible).Any() ).Select(s =&gt; s.Name).ToList(); } private void InitializeList() { Templates = new List&lt;Template&gt;(); Templates.Add(new Template { County = "abc", Operator = "123", Field = "xyz" }); Templates.Add(new Template { County = "abc", Operator = "123", Field = "xyz" }); Templates.Add(new Template { County = "abc", Operator = "123", Field = "xyz" }); Templates.Add(new Template { County = "abc", Operator = "123", Field = "xyz" }); } public List&lt;Template&gt; Templates { get; set; } } </code></pre> <p><strong>>Template Class</strong></p> <pre><code>public class Template { [Visible(false)] public string County { get; set; } [Visible(true)] public string Operator { get; set; } [Visible(true)] public string Field { get; set; } } </code></pre> <p><strong>>Visible Attribute</strong></p> <pre><code>public class Visible : Attribute { public Visible(bool isVisible) { IsVisible = isVisible; } public bool IsVisible { get; set; } } </code></pre> <p><strong>>xaml</strong></p> <pre><code>&lt;Grid&gt; &lt;DataGrid AutoGenerateColumns="True" x:Name="dg"/&gt; &lt;/Grid&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload