繁体   English   中英

在MVVM中的文本块或文本框中获取文本

[英]Get the text in a Textblock or Textbox in MVVM

我目前在使用mvvm将项目添加到列表时遇到麻烦,我已经能够使用以下简单方法成功将项目添加到列表中:

    private DelegateCommand _addItemCommand;
            public ICommand AddItemCommand
            {
                get
                {
                    if (_addItemCommand == null)
                    {
                        _addItemCommand = new DelegateCommand(AddItem);
                    }
                    return _addItemCommand;
                }
            }

    void AddItem()
            {

           DessertData.Add(new CakeDataSample {Samplename="Black Forest" ,ImagePath="Assets/Black-Forest.jpg"});
            }

现在,我试图实现的是获取Textblock或textbox的文本并将其添加到列表中。 我想这样做:

DessertData.Add(new CakeDataSample {Samplename=txtCakename.text ,ImagePath=myImageSource}); //or something likethat

我将如何获得该文本? 我要添加些什么吗?

请遵循以下代码,

private string text;
public string Text
{
     get
     {
          return text;
     }
     set
     {
          text = value;
          OnPropertyChanged("Text");
     }
}

在您的VM中使用它...我相信您已经实现了INotifyPropertyChanged

<TextBox x:Name="txtCakename" Text="{Binding Text, Mode=TwoWay}"/>

这会将文本绑定到txtCakename到文本属性。

在您的AddItem方法中,

DessertData.Add(new CakeDataSample {Samplename=this.Text,ImagePath=myImageSource});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM