如何将xaml绑定到来自其他类的文本框

责备

我可以在后面的代码中找出如何将属性绑定到文本框,但是对于我当前的应用程序,我需要从其他类绑定到属性。这是我所拥有的简化版本:

<Window x:Class="Project1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
<Grid>
    <TextBox x:Name="Textbox1" Text="{Binding Class1.Class2.TextToBind, Mode=TwoWay}" Height="20"  Width="75" Background="#FFE5E5E5"/>
</Grid>

代码背后:

namespace Project1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
            Class1 = new Class1();
        }
        public Class1 Class1 { get; set; }
    }
}

第1类:

namespace Project1
{
    public class Class1
    {
        public Class1()
        {
            Class2 = new Class2();
        }
        public Class2 Class2 { get; set; }
    }
}

期末课程:

namespace Project1
{
    public class Class2
    {
        public Class2()
        {
        }
        private string textToBind;
        public string TextToBind { get { return textToBind; } set { SetProperty(ref textToBind, value); } }

        public event PropertyChangedEventHandler PropertyChanged;
        private void SetProperty<T>(ref T field, T value, [CallerMemberName] string name = "")
        {
            if (!EqualityComparer<T>.Default.Equals(field, value))
            {
                field = value;
                var handler = PropertyChanged;
                if (handler != null)
                {
                    handler(this, new PropertyChangedEventArgs(name));
                }
            }
        }
    }
}
瓦马列夫

您必须为您的TextBox或Window设置DataContext

namespace Project1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
            Class1 = new Class1();


            Class1.Class2.TextToBind = "Test";

            this.DataContext = this;
        }
        public Class1 Class1 { get; set; }
    }
}

另外,您还需要从INotifyPropertyChanged继承Class2:

public class Class2 : INotifyPropertyChanged
{
    public Class2()
    {
    }
    private string textToBind;
    public string TextToBind { get { return textToBind; } set { SetProperty(ref textToBind, value); } }

    public event PropertyChangedEventHandler PropertyChanged;
    private void SetProperty<T>(ref T field, T value, [CallerMemberName] string name = "")
    {
        if (!EqualityComparer<T>.Default.Equals(field, value))
        {
            field = value;
            var handler = PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(name));
            }
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将文本框文本与其他类属性绑定?

来自分类Dev

如何将文本框绑定到类Property

来自分类Dev

Xcode将文本字段绑定到来自其他ViewController的表视图中的选定项

来自分类Dev

从其他文本框绑定文本框

来自分类Dev

如何将文本框的文本与文件内容绑定?

来自分类Dev

如何将文本框绑定到WPF中的类的字段?

来自分类Dev

如何将文本框对象绑定到ViewModel

来自分类Dev

如何将文本框绑定到不在数据上下文类中的类

来自分类Dev

如何将文本框中的文本转换为零和一,如何将两列的内容拆分为许多其他列

来自分类Dev

如何将文本框的长度绑定到文本块?

来自分类Dev

如何将文本框文本绑定到集合的“当前”项目

来自分类Dev

如何将Winform文本框绑定到类属性?

来自分类Dev

如何将文本框中的字体大小绑定到数据源?

来自分类Dev

如何将简单的字符串值绑定到文本框?

来自分类Dev

如何将2个文本框绑定到一个属性?

来自分类Dev

如何将列表绑定到ItemsControl中的文本框

来自分类Dev

如何将文本框绑定到MS Access中子窗体的链接子字段?

来自分类Dev

如何将ProgressBar值绑定到ResourceDictionary中的文本框?

来自分类Dev

如何使用其他文本框的值设置文本框的值

来自分类Dev

如何在Laravel 4中基于其他文本框隐藏/显示文本框?

来自分类Dev

如何将段落设置为文本框文本

来自分类Dev

如何将selectedItem从不同的列表框绑定到一个文本框?

来自分类Dev

如何将相同的文本框与tab控件上的其他选项卡一起使用?

来自分类Dev

如何显示来自其他类的对话框

来自分类Dev

如何将 12 位数字从富文本框移动到文本框 2

来自分类Dev

根据下拉列表将文本从onkeyinput文本框复制到其他文本框?

来自分类Dev

如何将文本框绑定到datetime字段,但仅显示其日期部分(在ASP.MVC中)?

来自分类Dev

如何将文本框绑定到datetime字段,但仅显示其日期部分(在ASP.MVC中)?

来自分类Dev

实体框架和 VB.Net - 如何将文本框绑定到 EF 并保持更改?

Related 相关文章

  1. 1

    如何将文本框文本与其他类属性绑定?

  2. 2

    如何将文本框绑定到类Property

  3. 3

    Xcode将文本字段绑定到来自其他ViewController的表视图中的选定项

  4. 4

    从其他文本框绑定文本框

  5. 5

    如何将文本框的文本与文件内容绑定?

  6. 6

    如何将文本框绑定到WPF中的类的字段?

  7. 7

    如何将文本框对象绑定到ViewModel

  8. 8

    如何将文本框绑定到不在数据上下文类中的类

  9. 9

    如何将文本框中的文本转换为零和一,如何将两列的内容拆分为许多其他列

  10. 10

    如何将文本框的长度绑定到文本块?

  11. 11

    如何将文本框文本绑定到集合的“当前”项目

  12. 12

    如何将Winform文本框绑定到类属性?

  13. 13

    如何将文本框中的字体大小绑定到数据源?

  14. 14

    如何将简单的字符串值绑定到文本框?

  15. 15

    如何将2个文本框绑定到一个属性?

  16. 16

    如何将列表绑定到ItemsControl中的文本框

  17. 17

    如何将文本框绑定到MS Access中子窗体的链接子字段?

  18. 18

    如何将ProgressBar值绑定到ResourceDictionary中的文本框?

  19. 19

    如何使用其他文本框的值设置文本框的值

  20. 20

    如何在Laravel 4中基于其他文本框隐藏/显示文本框?

  21. 21

    如何将段落设置为文本框文本

  22. 22

    如何将selectedItem从不同的列表框绑定到一个文本框?

  23. 23

    如何将相同的文本框与tab控件上的其他选项卡一起使用?

  24. 24

    如何显示来自其他类的对话框

  25. 25

    如何将 12 位数字从富文本框移动到文本框 2

  26. 26

    根据下拉列表将文本从onkeyinput文本框复制到其他文本框?

  27. 27

    如何将文本框绑定到datetime字段,但仅显示其日期部分(在ASP.MVC中)?

  28. 28

    如何将文本框绑定到datetime字段,但仅显示其日期部分(在ASP.MVC中)?

  29. 29

    实体框架和 VB.Net - 如何将文本框绑定到 EF 并保持更改?

热门标签

归档