相关疑难解决方法(0)

使用MVVM在wpf中使用Dialogs的好坏?

我最近遇到了为我的wpf应用程序创建添加和编辑对话框的问题.

我想在代码中做的就是这样.(我主要使用viewmodel第一种方法与mvvm)

调用对话框窗口的ViewModel:

var result = this.uiDialogService.ShowDialog("Dialogwindow Title", dialogwindowVM);
// Do anything with the dialog result
Run Code Online (Sandbox Code Playgroud)

它是如何工作的?

首先,我创建了一个对话服务:

public interface IUIWindowDialogService
{
    bool? ShowDialog(string title, object datacontext);
}

public class WpfUIWindowDialogService : IUIWindowDialogService
{
    public bool? ShowDialog(string title, object datacontext)
    {
        var win = new WindowDialog();
        win.Title = title;
        win.DataContext = datacontext;

        return win.ShowDialog();
    }
}
Run Code Online (Sandbox Code Playgroud)

WindowDialog是一个特殊而简单的窗口.我需要它来保留我的内容:

<Window x:Class="WindowDialog"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    Title="WindowDialog" 
    WindowStyle="SingleBorderWindow" 
    WindowStartupLocation="CenterOwner" SizeToContent="WidthAndHeight">
    <ContentPresenter x:Name="DialogPresenter" Content="{Binding .}">

    </ContentPresenter>
</Window>
Run Code Online (Sandbox Code Playgroud)

wpf中对话框的问题是dialogresult = true只能在代码中实现.这就是为什么我为我dialogviewmodel实现它的界面.

public class …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf modal-dialog mvvm

145
推荐指数
3
解决办法
6万
查看次数

如何从 ViewModel 显示 MvxDialogFragment?

在此示例中https://github.com/MvvmCross/MvvmCross-Tutorials/tree/master/DialogExamples/DialogExamples.Droid

MvxDialogFragment 从 Activity 启动。

如何直接从 ViemModel 显示我的 MvxDialogFragment?

我有两个 ViewModel:ListViewModel 和 DetailViewModel

在列表视图模型中:

public DetailViewModel SelectedItem
    {
        get { return _SelectedItem; }
        set
        {
            _SelectedItem = value;
            ShowViewModel<DetailViewModel>(new { id = value.Model.Id }); //Show my activity in Dialog mode
        }
    }
Run Code Online (Sandbox Code Playgroud)

先感谢您。

xamarin.android mvvmcross xamarin

5
推荐指数
1
解决办法
1724
查看次数

标签 统计

.net ×1

c# ×1

modal-dialog ×1

mvvm ×1

mvvmcross ×1

wpf ×1

xamarin ×1

xamarin.android ×1