Click here to Skip to main content
15,347,338 members
Home / Discussions / WPF
   

WPF

 
PinnedHOW TO ANSWER A QUESTION PinPopular
Chris Maunder16-Jul-09 3:09
cofounderChris Maunder16-Jul-09 3:09 
PinnedHow to get an answer to your question PinPopular
Chris Maunder16-Jul-09 3:05
cofounderChris Maunder16-Jul-09 3:05 
QuestionDevelopment Pin
KenCleve3-Jun-22 10:46
MemberKenCleve3-Jun-22 10:46 
AnswerRe: Development Pin
Gerry Schmitz4-Jun-22 10:35
mveGerry Schmitz4-Jun-22 10:35 
GeneralRe: Development Pin
KenCleve6-Jun-22 4:22
MemberKenCleve6-Jun-22 4:22 
QuestionTreeView in ControlTemplate - Handling Item Expanded Pin
Kevin Marois27-Apr-22 9:46
professionalKevin Marois27-Apr-22 9:46 
QuestionWPF DataGridCell Binding Problem Pin
Kevin Marois7-Apr-22 14:39
professionalKevin Marois7-Apr-22 14:39 
AnswerRe: WPF DataGridCell Binding Prolem Pin
Richard Deeming7-Apr-22 21:36
mveRichard Deeming7-Apr-22 21:36 
GeneralRe: WPF DataGridCell Binding Prolem Pin
Kevin Marois8-Apr-22 5:38
professionalKevin Marois8-Apr-22 5:38 
GeneralRe: WPF DataGridCell Binding Prolem Pin
Kevin Marois13-Apr-22 7:59
professionalKevin Marois13-Apr-22 7:59 
GeneralRe: WPF DataGridCell Binding Prolem Pin
Richard Deeming18-Apr-22 21:45
mveRichard Deeming18-Apr-22 21:45 
QuestionCode Behind Data Grid Style Issue Pin
Kevin Marois6-Apr-22 15:01
professionalKevin Marois6-Apr-22 15:01 
SuggestionRe: Code Behind Data Grid Style Issue Pin
Richard Deeming6-Apr-22 22:37
mveRichard Deeming6-Apr-22 22:37 
GeneralRe: Code Behind Data Grid Style Issue Pin
Kevin Marois7-Apr-22 5:25
professionalKevin Marois7-Apr-22 5:25 
AnswerRe: Code Behind Data Grid Style Issue Pin
Gerry Schmitz7-Apr-22 6:42
mveGerry Schmitz7-Apr-22 6:42 
GeneralRe: Code Behind Data Grid Style Issue Pin
Kevin Marois7-Apr-22 14:34
professionalKevin Marois7-Apr-22 14:34 
Questiontrack active split view Pin
Super Lloyd5-Apr-22 13:47
MemberSuper Lloyd5-Apr-22 13:47 
QuestionViewModel Locator Pin
Kevin Marois5-Apr-22 7:48
professionalKevin Marois5-Apr-22 7:48 
AnswerRe: ViewModel Locator Pin
Super Lloyd5-Apr-22 13:56
MemberSuper Lloyd5-Apr-22 13:56 
SuggestionRe: ViewModel Locator Pin
Richard Deeming5-Apr-22 21:27
mveRichard Deeming5-Apr-22 21:27 
AnswerRe: ViewModel Locator Pin
Richard Deeming5-Apr-22 21:42
mveRichard Deeming5-Apr-22 21:42 
How about a custom markup extension[^]?
C#
public class LocateViewModelExtension : MarkupExtension
{
    public Type ViewType { get; set; }
    
    private Type ResolveViewType(IServiceProvider serviceProvider)
    {
        if (ViewType != null) return ViewType;
        
        var rootObjectProvider = (IRootObjectProvider)serviceProvider.GetService(typeof(IRootObjectProvider));
        return rootObjectProvider?.RootObject?.GetType();
    }
    
    public override object ProvideValue(IServiceProvider serviceProvider)
    {
        Type viewType = ResolveViewType(serviceProvider);
        if (viewType is null) return null;
        if (App.ViewModelLocator is null) return null;
        return App.ViewModelLocator.Get(viewType);
    }
}
Usage:
XAML
DataContext="{LocateViewModel ViewType={x:Type my:MainView}}"
or simply:
XAML
DataContext="{LocateViewModel}"
If you don't specify a ViewType, it should be able to use the type of the root object for the XAML file it's used in.



"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer

GeneralRe: ViewModel Locator Pin
Kevin Marois6-Apr-22 6:11
professionalKevin Marois6-Apr-22 6:11 
QuestionIs it possible to share SQL Server database between WPF application and Ionic application Pin
Alex Dunlop28-Mar-22 7:03
MemberAlex Dunlop28-Mar-22 7:03 
AnswerRe: Is it possible to share SQL Server database between WPF application and Ionic application Pin
Dave Kreskowiak28-Mar-22 10:11
mveDave Kreskowiak28-Mar-22 10:11 
AnswerRe: Is it possible to share SQL Server database between WPF application and Ionic application Pin
Mycroft Holmes28-Mar-22 12:28
professionalMycroft Holmes28-Mar-22 12:28 

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.