如何使用 MVVM 和 MVVM 工具包将属性绑定到文本框?

2024-03-01

我是 MVVM 新手。为了学习,我创建了一个示例应用程序,以便在单击按钮时在文本框中显示消息。在我的代码中,按钮命令工作正常,但该属性未绑定到文本框。如何使用 MVVM 将属性绑定到文本框?

我的代码类似于下面给出的。

View

<TextBox Name="MessageTextBox" Text="{Binding TestMessage}"/>
<Button Content="Show" Name="button1" Command="{Binding ShowCommand}">
 <!-- Command Handler -->
</Button>

查看模型

MyMessage myMessage; 
public MainViewModel()
{
myMessage=new MyMessage();
}

//inside the ShowCommand Handler

TestMessage="Hello World";

// A Property to set TextBox Value. 

Model

public class MyMessage: INotifyPropertyChanged        
{     
    private string testMessage;
    public string TestMessage
    {
        get { return testMessage; }
        set
        { 
            testMessage= value;
            OnPropertyChanged("TestName");
        }
    }
    public event PropertyChangedEventHandler PropertyChanged;
    private void OnPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }

}

  • 在你的模型中,你的 textMessage 是一个 int 而不是字符串?

尝试这样的事情:

视图模型

 private MyMessage message;

 public MainViewModel()
 {
    message = new MyMessage();
 }

public MyMessage Message
{
    get { return message;}
    set { message = value;}
}

//in your command: 
this.Message.TestMessage = "Hello World!";

MODEL

public class MyMessage: INotifyPropertyChanged
{
   private string testMessage

   public string TestMessage;
   { 
      get{ return testMessage; }
      set
         { 
           testMessage = value; 
           this.OnPropertyChanged("TestMessage");
         } 
   }
     //INotifyChanged Events   
}

XAML

<TextBox Text="{Binding Message.TestMessage, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 MVVM 和 MVVM 工具包将属性绑定到文本框? 的相关文章

随机推荐

  • 检查路径是否会因 open_basedir 而失败

    是否可以在失败之前检查一下 if is in open basedir path 您可以使用ini get http php net manual en function ini get php获取 open basedir 的当前值以检查
  • 仅当表中尚不存在记录时插入记录

    我想知道是否有办法仅在表尚未包含该记录时才将记录插入表中 是否有一个查询可以执行此操作 或者我需要一个存储过程 你没有说 SQL Server 是什么版本 如果 SQL Server 2008 你可以使用MERGE http technet
  • 如何制作 PHP SOAP 客户端并将结果 xml 存储在 php 变量中

    我正在使用 PHP 以前从未使用过 SOAP 和 PHP 我需要建立Soap PHP 客户端它正在调用并从 a 检索信息Soap 服务器 NET Web 服务 我目前正在努力获取信息荷兰医疗保健系统的医生 对于在荷兰医疗保健系统中注册的每位
  • 错误 LNK2001:无法解析的外部符号“public:静态类 sf::RenderStates const sf::RenderStates::Default”

    这是代码 Engine h include
  • Symfony 3.4 和 Fixtures Bundle 捆绑版本 3.0 存在问题

    我正在尝试从以下位置配置捆绑包 https symfony com doc master bundles DoctrineFixturesBundle index html https symfony com doc master bund
  • 如何在启动器图标中添加类似像素的活动快捷方式?

    Since the release of pixel series there has been this feature to add activity shortcuts in application icon itself by lo
  • 替换 node.js 中文本文件中的字符串

    我正在使用node js 我想读取带有一些占位符字符串的文件 并在提供文件之前动态替换它们 这不是 HTML 文件 因此模板引擎将无法工作 我怎样才能做到这一点 如果模板引擎太过分了 就使用string replace temp Hello
  • 用不同版本的 pandas 读取 pickle

    我无法读取使用不同版本的 Python pandas 保存的 pickle 文件 我知道以前曾在这里问过这个问题 但是提供的解决方案使用pd read pickle my file pkl 也不工作 我认为 但我不确定 这些 pickle
  • r 中的“部分”枢轴宽

    我有一个如下所示的数据框 Time Y 1 2 1 3 1 2 2 5 2 7 2 5 3 10 3 9 3 8 我想创造一些看起来像 Time R1 R2 R3 1 2 3 2 2 5 7 5 3 10 9 8 我必须保留时间列以进行进一
  • gccgo 上的精确

    当尝试在 Precise 上与 gccgo 链接时 出现以下链接错误 matt matt 1005P src gopath src meme gccgo cmd meme main go o meme usr bin ld cannot f
  • 通过函数传递表达式

    我在用着data table包并尝试编写一个函数 如下所示 require data table Function definition f function path key table data table read delim pat
  • Rvest html_nodes span div 和 Xpath

    我正在尝试通过阅读 XPath 代码来抓取网站 当我进入开发人员部分时 我看到这些行 span class js bestRate show 我想抓取 data abc 的所有值 假设网站上的每个元素都是一部电影 所以我想抓取页面上每部电影
  • SyncStateNotFound 错误:如何修复或避免?

    我使用 Microsoft Graph API 增量查询定期下载一些信息 消息 联系人 事件 但有时我会收到此错误 error code SyncStateNotFound innerError date 2018 06 01T06 31
  • 如何在 Watin 中通过标签名称查找元素?

    如何使用 Watin 使用 TagName 来查找特定元素或元素列表 从 WatiN 2 0 beta 1 开始 这已更改为 ie ElementWithTag h1 constraint 使用 Find XXX 方法时会创建约束 这是一个
  • Facebook ShareDialog 在完成时始终返回 .canceled

    共享对话框打开 Facebook 应用程序 尽管内容已成功共享 但我总是收到 取消打回来 在这两种情况下 当我取消共享时和共享成功时 知道出了什么问题吗 Pod 版本 Using Bolts 1 8 4 Using FBSDKCoreKit
  • 矩形内最大的空矩形

    我的数学不太好 所以我很难将公式转换为代码 而且我在谷歌上找不到任何现成的东西 我有一个包含很多小矩形的大矩形 我需要做的就是计算最大的空矩形 任何人都可以帮助我吗 这就是我想出的 没什么可说的 这是一个很大的失败 Rect result
  • 使用 MPI 和 C++ 从不同节点收集数据

    我正在开发一个包含多个从节点和一个主节点的项目 在某些时候 我需要将来自不同从节点 主节点也可以视为从节点 的数据收集到主节点 数据可以是任何类型 但我们假设它是 unsigned int 这就是数据在从节点上的样子 节点0 块01 块02
  • 在 [code] 和 [php] 标签内查找 URL [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的字符串是这样的 string Link 1 code This is a textual line www google com
  • Jackson:忽略父类属性

    有什么方法可以告诉杰克逊在序列化子类时忽略父类的属性吗 class Parent private String parentProperty1 private String parentProperty2 getter setter Ign
  • 如何使用 MVVM 和 MVVM 工具包将属性绑定到文本框?

    我是 MVVM 新手 为了学习 我创建了一个示例应用程序 以便在单击按钮时在文本框中显示消息 在我的代码中 按钮命令工作正常 但该属性未绑定到文本框 如何使用 MVVM 将属性绑定到文本框 我的代码类似于下面给出的 View