【问题标题】:Binding SelectedItem subclass list to a textbox将 SelectedItem 子类列表绑定到文本框
【发布时间】:2019-05-29 20:02:56
【问题描述】:

我想在文本框中显示一个连接字符串的列表。我将转换器用于效果很好的转换器。问题是当我尝试将所选项目子类绑定到文本框时,它不显示值。它显示 Projectname.Model.Tag

标签是子类

<TextBox HorizontalAlignment="Left"  Height="23" Text="{Binding Path=SelectedItem.Tags,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource myConverter}}" VerticalAlignment="Top" Width="auto"/>

如果我这样做

<TextBox HorizontalAlignment="Left"  Height="23" Text="{Binding Path=SelectedItem.Tags.Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,Converter={StaticResource myConverter}}" VerticalAlignment="Top" Width="auto"/>

它只是显示为空

如何正确地将所选项目绑定到文本框?

编辑 所以我有一个包含标签列表的类 Book。名称是标签的属性。

public class Book:INotifyPropertyChanged
    {

        private int _idBook;
        private string _title;
        private ObservableCollection<Tag> _tag;

        public int IdBook
        {
            get { return _idBook; }
            set { _idBook = value; }
        }

        public string Title
        {
            get { return _title; }
            set { _title = value; }
        }
        public ObservableCollection<Tag> Tags
        {
            get { return _tag; }
            set { _tag = value; OnPropertyChanged("Tags"); }
            }
}

和标签模型

 public class Tag:INotifyPropertyChanged
    {

        private int _idTag;
        private string _name;

        public int IdTag
        {
            get { return _idTag; }
            set { _idTag = value; OnPropertyChanged("IdTag"); }
        }

        public string Name
        {
            get { return _name; }
            set { _name = value; OnPropertyChanged("Name"); }
        }
}

【问题讨论】:

  • 信息不足。什么是Tags,什么是Name
  • 我会添加更多信息
  • 小心调用实际上不是子类的“子类”。子类是类继承的约定,而不是您在说的。在这种情况下,Tags 是 Book 的属性,而不是子类。

标签: c# wpf data-binding textbox selecteditem


【解决方案1】:

我解决了,答案是在转换器中而不是使用字符串。加入我正在使用 String Builders Append,现在它可以正确绑定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 2015-07-28
    • 2017-02-02
    • 2011-02-16
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    相关资源
    最近更新 更多