XAML 如何调用用户控件创建一个示例使用MVVM在WPF?

gopyfrb3  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(167)

我正在一个WPF项目和一个更新的项目中工作,我在我的项目中使用MVVM模式。
我有一个调用用户控件的MainWindows,我有一个MainWindowsModel,它可以帮助我创建一个示例,将它们保存在一个变量中,以便在我的MainWindows中打开...
我的问题来了,当我使用我的窗口菜单(看下面的照片)用户控件是刷新像创建一个新的示例...
我创建了一个存储库,我模拟我的问题,尝试在textBox中写入,然后点击其他底部菜单,然后返回到之前按钮,你将无法观看你写在那里的消息.
希望一些帮助我,因为我不知道如何管理用户控件只是创建一个示例,不保存数据时,我之间的用户控件的变化。

如果我解释得不好,请看图片

此问题的repo界面如图:Click on here to open the Repo

我正在寻找其他职位的例子,但我没有找到一种方法,使我的信息留在我的用户控制。我将积极为这个问题...

koaltpgm

koaltpgm1#

信息不应该“留在UserControl中。
你应该把TextBox绑定到视图模型的一个属性上,并把string的值存储在那里,它不会/不应该存储在被卸载的视图中。

主页视图.xaml

<TextBox Text="{Binding Text}"
                FontSize="20"
                Margin="10,10,0,0"
                Foreground="Green"
                Width="300"
                Height="50"/>

主视图型号:

public class HomeViewModel : ViewModelBase
{
    private string _text = "Write something";
    public string Text
    {
        get { return _text; }
        set { _text = value; OnPropertyChanged(nameof(Text)); }
    }
}

相关问题