【发布时间】: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