Click here to Skip to main content
15,914,500 members
Home / Discussions / WPF
   

WPF

 
GeneralRe: VS2013: cannot locate resource Pin
Anthony.Canossi12-Jan-14 21:31
Anthony.Canossi12-Jan-14 21:31 
QuestionDragging A Control - Problem Pin
Kevin Marois8-Jan-14 10:13
professionalKevin Marois8-Jan-14 10:13 
AnswerRe: Dragging A Control - Problem Pin
Meshack Musundi12-Jan-14 7:58
professionalMeshack Musundi12-Jan-14 7:58 
Questionupdate linq query result Pin
amigoface5-Jan-14 3:12
amigoface5-Jan-14 3:12 
QuestionLearn Wpf Pin
Member 105030394-Jan-14 2:00
Member 105030394-Jan-14 2:00 
AnswerRe: Learn Wpf Pin
Peter Leow4-Jan-14 2:16
professionalPeter Leow4-Jan-14 2:16 
AnswerRe: Learn Wpf Pin
Richard MacCutchan4-Jan-14 2:34
mveRichard MacCutchan4-Jan-14 2:34 
QuestionData Template Checkbox Binding Question Pin
Kevin Marois2-Jan-14 7:16
professionalKevin Marois2-Jan-14 7:16 
AnswerRe: Data Template Checkbox Binding Question Pin
Wayne Gaylard2-Jan-14 19:21
professionalWayne Gaylard2-Jan-14 19:21 
GeneralRe: Data Template Checkbox Binding Question Pin
Kevin Marois10-Jan-14 10:50
professionalKevin Marois10-Jan-14 10:50 
GeneralRe: Data Template Checkbox Binding Question Pin
Wayne Gaylard11-Jan-14 4:43
professionalWayne Gaylard11-Jan-14 4:43 
QuestionConvert xaml to C# Pin
Member 104997162-Jan-14 6:53
Member 104997162-Jan-14 6:53 
SuggestionRe: Convert xaml to C# Pin
BenScharbach14-Oct-17 9:45
BenScharbach14-Oct-17 9:45 
QuestionWPF DialogService Question Pin
Kevin Marois29-Dec-13 11:31
professionalKevin Marois29-Dec-13 11:31 
AnswerRe: WPF DialogService Question Pin
veboys30-Dec-13 5:08
veboys30-Dec-13 5:08 
GeneralRe: WPF DialogService Question Pin
Kevin Marois30-Dec-13 6:56
professionalKevin Marois30-Dec-13 6:56 
SuggestionRe: WPF DialogService Question Pin
Ron Beyer30-Dec-13 5:39
professionalRon Beyer30-Dec-13 5:39 
GeneralRe: WPF DialogService Question Pin
Kevin Marois30-Dec-13 6:56
professionalKevin Marois30-Dec-13 6:56 
GeneralRe: WPF DialogService Question Pin
Kevin Marois30-Dec-13 7:06
professionalKevin Marois30-Dec-13 7:06 
GeneralRe: WPF DialogService Question Pin
Ron Beyer30-Dec-13 7:22
professionalRon Beyer30-Dec-13 7:22 
GeneralRe: WPF DialogService Question Pin
Kevin Marois30-Dec-13 7:22
professionalKevin Marois30-Dec-13 7:22 
GeneralRe: WPF DialogService Question Pin
Kevin Marois30-Dec-13 7:35
professionalKevin Marois30-Dec-13 7:35 
GeneralRe: WPF DialogService Question Pin
Ron Beyer30-Dec-13 7:46
professionalRon Beyer30-Dec-13 7:46 
I would add another class, something like:

C#
public class DialogResultEx
{
    public bool? DialogResult { get; set; }
    public object DialogData { get; set; }
}


Then in your ShowDialog method:

C#
public static DialogResultEx ShowDialog<TViewModelType>(TViewModelType viewModel) where TViewModelType : _DialogBaseViewModel
    {
        Type dialogType = registry.Where(x => x.Value == viewModel.GetType()).Select(x => x.Key).FirstOrDefault();
        var dialog = (Window)Activator.CreateInstance(dialogType);
 
        dialog.DataContext = viewModel;
        dialog.ShowDialog();
            
        DialogResultEx dlgResult = new DialogResult();
        dlgResult.DialogResult = dialog.DialogResult;
        dlgResult.DialogData = viewModel.WhateverData;    //Modify as needed
 
        return dlgResult;
    }


You could even make it implicitly castable to a bool...

C#
public class DialogResultEx
{
    public bool? DialogResult { get; set; }
    public object DialogData { get; set; }

    public static implicit operator bool?(DialogResultEx dlgResult)
    {
        return dlgResult.DialogResult;
    }
}


So you wouldn't have to change much of your upstream code that didn't need the entire class.
GeneralRe: WPF DialogService Question Pin
Kevin Marois30-Dec-13 7:53
professionalKevin Marois30-Dec-13 7:53 
GeneralRe: WPF DialogService Question Pin
Ron Beyer30-Dec-13 8:03
professionalRon Beyer30-Dec-13 8:03 

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.