Click here to Skip to main content
15,311,151 members
Home / Discussions / WPF


AnswerRe: DataGrid Columnm Header Style Pin
Gerry Schmitz17-Feb-21 6:14
mveGerry Schmitz17-Feb-21 6:14 
QuestionGridView CellTemplate Pin
#realJSOP13-Feb-21 10:42
mva#realJSOP13-Feb-21 10:42 
AnswerRe: GridView CellTemplate Pin
Gerry Schmitz13-Feb-21 12:50
mveGerry Schmitz13-Feb-21 12:50 
GeneralRe: GridView CellTemplate Pin
#realJSOP13-Feb-21 13:13
mva#realJSOP13-Feb-21 13:13 
AnswerRe: GridView CellTemplate Pin
#realJSOP14-Feb-21 4:49
mva#realJSOP14-Feb-21 4:49 
GeneralRe: GridView CellTemplate Pin
Gerry Schmitz14-Feb-21 5:53
mveGerry Schmitz14-Feb-21 5:53 
GeneralRe: GridView CellTemplate Pin
#realJSOP14-Feb-21 8:41
mva#realJSOP14-Feb-21 8:41 
GeneralRe: GridView CellTemplate Pin
Gerry Schmitz14-Feb-21 10:48
mveGerry Schmitz14-Feb-21 10:48 
QuestionIcon Strangeness Pin
#realJSOP2-Feb-21 23:36
mva#realJSOP2-Feb-21 23:36 
AnswerRe: Icon Strangeness Pin
Richard Deeming3-Feb-21 0:12
mveRichard Deeming3-Feb-21 0:12 
GeneralRe: Icon Strangeness Pin
#realJSOP3-Feb-21 1:25
mva#realJSOP3-Feb-21 1:25 
AnswerRe: Icon Strangeness Pin
Gerry Schmitz3-Feb-21 7:25
mveGerry Schmitz3-Feb-21 7:25 
QuestionDispatcherTimer Pin
michaelbarb14-Jan-21 6:29
Membermichaelbarb14-Jan-21 6:29 
AnswerRe: DispatcherTimer Pin
Mycroft Holmes14-Jan-21 11:06
professionalMycroft Holmes14-Jan-21 11:06 
GeneralRe: DispatcherTimer Pin
michaelbarb14-Jan-21 11:52
Membermichaelbarb14-Jan-21 11:52 
GeneralRe: DispatcherTimer Pin
Mycroft Holmes14-Jan-21 12:15
professionalMycroft Holmes14-Jan-21 12:15 
GeneralRe: DispatcherTimer Pin
michaelbarb14-Jan-21 13:23
Membermichaelbarb14-Jan-21 13:23 
AnswerRe: DispatcherTimer Pin
Gerry Schmitz15-Jan-21 2:31
mveGerry Schmitz15-Jan-21 2:31 
QuestionBetter way to access ViewModels Pin
Mc_Topaz5-Jan-21 4:11
MemberMc_Topaz5-Jan-21 4:11 
In my current way to structure a WPF-application I heavily lean on UserControls for my Views and place them in the MainWindow inside a container, usually a DockPanel. For instance in the MainWindow:
<DockPanel LastChildFill="True">
        <views:Header DockPanel.Dock="Top" />
        <views:Footer DockPanel.Dock="Bottom" />
        <views:Body />
For each View I have a corresponding ViewModel. This ViewModel is instantiated inside the View's XAMl-code. In the DataContext element. For instance in the Body View:
    <vm:BodyViewModel />
I like this approach, because I can alter any properties in the ViewModel and see the View automatically change in the view during design time.

But I have not find a good way to access any ViewModels from some class where I happened to need to alter the View through a property in a ViewModel.

My current solution - which I don't like - to gain access of the ViewModels is:

1. Give each View a name in the MainWindow.xaml file.
<DockPanel LastChildFill="True">
    <views:Header DockPanel.Dock="Top" x:Name="viewHeader" />
    <views:Footer DockPanel.Dock="Bottom" x:Name="viewFooter" />
    <views:Body x:Name="viewBody" />
2. Do some logic in the MainWindow to setup the ViewModels for each View.
public partial class MainWindow : Window
    HeaderViewModel Header { get; set; }
    FooterViewModel Footer { get; set; }
    BodyViewModel Body { get; set; }

    public MainWindow()

        Header = viewHeader.DataContext as HeaderViewModel;
        Footer = viewFooter.DataContext as FooterViewModel;
        Body = viewBody.DataContext as BodyViewModel;
3. Then for every class where I need a ViewModel I need to pass it from the MainWindow in some way.
class SomeClass
    public void AlterHeaderText(HeaderViewModel header)
        // Do some logic with viewmodel.
This approach works, but I don't like it. It's annoying to pass ViewModels from the MainWindow every time a class need one or more ViewModels to alter a View.

Is there a solution to this approach to improve it?

AnswerRe: Better way to access ViewModels Pin
Gerry Schmitz5-Jan-21 21:01
mveGerry Schmitz5-Jan-21 21:01 
AnswerRe: Better way to access ViewModels Pin
#realJSOP9-Jan-21 1:03
mva#realJSOP9-Jan-21 1:03 
GeneralRe: Better way to access ViewModels Pin
michaelbarb10-Jan-21 8:20
Membermichaelbarb10-Jan-21 8:20 
GeneralRe: Better way to access ViewModels Pin
#realJSOP10-Jan-21 11:15
mva#realJSOP10-Jan-21 11:15 
AnswerRe: Better way to access ViewModels Pin
#realJSOP21-Feb-21 0:42
mva#realJSOP21-Feb-21 0:42 
QuestionIDataErrorInfo Pin
#realJSOP28-Dec-20 4:15
mva#realJSOP28-Dec-20 4:15 

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.