Click here to Skip to main content
15,880,956 members
Home / Discussions / WPF
   

WPF

 
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
Super 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
Super 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
Alex 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 
QuestionDataTrigger not working Pin
Kevin Marois7-Mar-22 8:35
professionalKevin Marois7-Mar-22 8:35 
AnswerRe: DataTrigger not working Pin
Dave Kreskowiak7-Mar-22 10:27
mveDave Kreskowiak7-Mar-22 10:27 
AnswerRe: DataTrigger not working Pin
Richard Deeming7-Mar-22 21:15
mveRichard Deeming7-Mar-22 21:15 
GeneralRe: DataTrigger not working Pin
Kevin Marois8-Mar-22 5:32
professionalKevin Marois8-Mar-22 5:32 
QuestionQuestion about NotifyCollectionChangedEventArgs Pin
Super Lloyd1-Mar-22 12:12
Super Lloyd1-Mar-22 12:12 
AnswerRe: Question about NotifyCollectionChangedEventArgs Pin
Richard Deeming1-Mar-22 21:42
mveRichard Deeming1-Mar-22 21:42 
QuestionAnimation on DataGridRow jumps to wrong row when scrolling Pin
Mc_Topaz27-Feb-22 23:31
Mc_Topaz27-Feb-22 23:31 
AnswerRe: Animation on DataGridRow jumps to wrong row when scrolling Pin
Gerry Schmitz28-Feb-22 8:11
mveGerry Schmitz28-Feb-22 8:11 
GeneralRe: Animation on DataGridRow jumps to wrong row when scrolling Pin
Mc_Topaz28-Feb-22 20:28
Mc_Topaz28-Feb-22 20:28 
QuestionLabelprint on Thermotransfer Pin
Member 118002289-Feb-22 0:34
Member 118002289-Feb-22 0:34 
QuestionRe: Labelprint on Thermotransfer Pin
Eddy Vluggen9-Feb-22 3:13
professionalEddy Vluggen9-Feb-22 3:13 
QuestionWPF c# onStartUp() view model problem with multiple data inputs Pin
StealthRT5-Feb-22 7:31
StealthRT5-Feb-22 7:31 
AnswerRe: WPF c# onStartUp() view model problem with multiple data inputs Pin
Gerry Schmitz5-Feb-22 18:16
mveGerry Schmitz5-Feb-22 18:16 

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.