首页 > 解决方案 > C# WPF - 如何从用户控件中获取文本框

问题描述

我有一个用户控件和自定义控件的视图模型,它们与主窗口 XAML 和主窗口视图模型分开。在用户控件 XAML 文件中,我有一个文本框,我如何获取它的属性并基本上在我的视图模型中的代码中操作它?

我尝试像这样访问文本框的名称:

EditorBox.Text = "Test text";

但它不承认它。

标签: c#wpf

解决方案


这是该模式的基本部分,可将事物彼此分开。

为了实现你想要的,你必须在你的创建一个属性并在你的ViewModel绑定到它View

像那样

class ViewModel : INotifyPropertyChanged
{
    ...
    private string _text;
    public string Text
        {
            get => _text;
            set
            {
                _text = value;
                OnPropertyChanged();
            }
        }
    ...
}

<TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}" />

推荐阅读