Click here to Skip to main content
14,921,476 members
Home / Discussions / WPF
   

WPF

 
AnswerRe: Impossible? Get instance of MainWindow from extern WPF-application Pin
Gerry Schmitz23-Mar-21 7:27
mveGerry Schmitz23-Mar-21 7:27 
GeneralRe: Impossible? Get instance of MainWindow from extern WPF-application Pin
Mc_Topaz23-Mar-21 12:22
MemberMc_Topaz23-Mar-21 12:22 
GeneralRe: Impossible? Get instance of MainWindow from extern WPF-application Pin
Richard Deeming23-Mar-21 23:14
mveRichard Deeming23-Mar-21 23:14 
GeneralRe: Impossible? Get instance of MainWindow from extern WPF-application Pin
Gerry Schmitz24-Mar-21 5:40
mveGerry Schmitz24-Mar-21 5:40 
GeneralRe: Impossible? Get instance of MainWindow from extern WPF-application Pin
Mc_Topaz25-Mar-21 0:02
MemberMc_Topaz25-Mar-21 0:02 
QuestionWPF DataGrid Custom Group Header Pin
Kevin Marois22-Mar-21 8:47
professionalKevin Marois22-Mar-21 8:47 
AnswerRe: WPF DataGrid Custom Group Header Pin
Richard Deeming22-Mar-21 22:35
mveRichard Deeming22-Mar-21 22:35 
QuestionDynamic WPF DataGrid Pin
Kevin Marois19-Mar-21 10:41
professionalKevin Marois19-Mar-21 10:41 
I need to automatically generate a WPF DataGrid at runtime. Some of the columns will be known, and some will be added based off user selections. In all cases, I'll know the data types. The column definitions will all be rows in some table, allowing me to create any number of columns.

The problem that I'm going to run into is binding. Since there will be an unknown number of columns, I can't create an "concrete" entity to bind to. So, the real question here is how to represent the data when I don't know all the columns.

I came across some examples of ExpandoObject usage and put together this sample:
static void Main(string[] args)
{
    // Assigning properties and their values at runtime
    var x = new ExpandoObject() as IDictionary;
    x.Add("NewProp", "Hello World!");

    IDictionary propertyValues = x;
    foreach (var property in propertyValues.Keys)
    {
        Console.WriteLine(String.Format("{0} : {1}", property, propertyValues[property]));
    }

    // Creating properties in code and assigning data at runtime
    dynamic expando = new ExpandoObject();
    expando.SomeStringProp = "C";
    expando.SomeNumberProp = 12;

    expando.MyMethod = new Func(() =>
    {
        return 55;
    });

    Console.WriteLine(expando.SomeStringProp);
    Console.WriteLine(expando.SomeNumberProp);
    Console.WriteLine(expando.MyMethod());
    Console.ReadLine();
}
I'm concerned about performance here. If anyone has a better way I'd like to hear about it.

Thanks!
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.


modified 19-Mar-21 16:58pm.

AnswerRe: Dynamic WPF DataGrid Pin
Richard Deeming21-Mar-21 22:50
mveRichard Deeming21-Mar-21 22:50 
GeneralRe: Dynamic WPF DataGrid Pin
Kevin Marois22-Mar-21 7:07
professionalKevin Marois22-Mar-21 7:07 
GeneralRe: Dynamic WPF DataGrid Pin
Kevin Marois23-Mar-21 9:58
professionalKevin Marois23-Mar-21 9:58 
GeneralRe: Dynamic WPF DataGrid Pin
Richard Deeming23-Mar-21 23:13
mveRichard Deeming23-Mar-21 23:13 
GeneralRe: Dynamic WPF DataGrid Pin
Kevin Marois24-Mar-21 6:14
professionalKevin Marois24-Mar-21 6:14 
QuestionWPF with TPL Multithreading Pin
#realJSOP16-Mar-21 6:04
mva#realJSOP16-Mar-21 6:04 
AnswerRe: WPF with TPL Multithreading Pin
Gerry Schmitz16-Mar-21 7:45
mveGerry Schmitz16-Mar-21 7:45 
GeneralRe: WPF with TPL Multithreading Pin
#realJSOP16-Mar-21 9:03
mva#realJSOP16-Mar-21 9:03 
GeneralRe: WPF with TPL Multithreading Pin
Gerry Schmitz16-Mar-21 10:11
mveGerry Schmitz16-Mar-21 10:11 
GeneralRe: WPF with TPL Multithreading Pin
#realJSOP16-Mar-21 10:51
mva#realJSOP16-Mar-21 10:51 
QuestionExpand/Collapse TreeView Nodes on Ctrl+LeftMouse in WPF Pin
earnshaw194312-Mar-21 4:24
Memberearnshaw194312-Mar-21 4:24 
AnswerRe: Expand/Collapse TreeView Nodes on Ctrl+LeftMouse in WPF Pin
Gerry Schmitz12-Mar-21 8:13
mveGerry Schmitz12-Mar-21 8:13 
AnswerRe: Expand/Collapse TreeView Nodes on Ctrl+LeftMouse in WPF Pin
lmoelleb15-Mar-21 8:40
Memberlmoelleb15-Mar-21 8:40 
QuestionAvalonDock using AvalonDock.ManagedContent not present in Dirkster.AvalonDock package Pin
sinagot4-Mar-21 1:24
Membersinagot4-Mar-21 1:24 
AnswerRe: AvalonDock using AvalonDock.ManagedContent not present in Dirkster.AvalonDock package Pin
Gerry Schmitz4-Mar-21 8:24
mveGerry Schmitz4-Mar-21 8:24 
GeneralRe: AvalonDock using AvalonDock.ManagedContent not present in Dirkster.AvalonDock package Pin
sinagot4-Mar-21 10:50
Membersinagot4-Mar-21 10:50 
QuestionDataGrid Columnm Header Style Pin
Kevin Marois16-Feb-21 14:44
professionalKevin Marois16-Feb-21 14:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.