我有一个包含ListBox
和RichTextBox
的视图。我的ListBox
绑定到ObservableCollection
,效果很好:
<ListBox Name="checkListBox1" ItemsSource="{Binding ModelviewArticleObservableList}" SelectedItem="{Binding SelectedArticle, UpdateSourceTrigger=PropertyChanged}" DisplayMemberPath="ArticleHeader" />
我现在想将RichTextBox
文字绑定到SelectedItem
的{{1}},显示与ListBox
(ArticleBody)不同的列。
这是我在ObservableCollection
中公开的字符串属性:
ViewModel
&安培;这是我目前的 private string _SelectedArticle;
public string SelectedArticle
{
get { return _SelectedArticle; }
set
{
_SelectedArticle = value;
OnPropertyChanged("SelectedArticle");
}
}
:
RichTextBox Xaml
现在,所选项目会在 <xctk:RichTextBox Name="richTextBox1" Text="{Binding SelectedArticle, Mode=TwoWay}" />
选择中触发,但我的ListBox
显然显示的是班级名称,而不是我想要的ArticleBody文字。
如何获取RichTextBox text
字符串属性以返回ArticleBody而不是类名?
答案 0 :(得分:2)
由于ModelviewArticleObservableList
ObservableCollection<viewArticle>
SelectedArticle
更改为viewArticle
类型(与您的收藏品类型相同)
private viewArticle _SelectedArticle;
public viewArticle SelectedArticle
{
get { return _SelectedArticle; }
set
{
_SelectedArticle = value;
OnPropertyChanged("SelectedArticle");
}
}
然后更改RichTextBox
绑定以使用SelectedArticle.ArticleBody
路径
<xctk:RichTextBox Name="richTextBox1" Text="{Binding SelectedArticle.ArticleBody, Mode=TwoWay}" />