将RichTextBox文本绑定到WPF中的ListBox Selected Item?

时间:2014-05-30 08:44:14

标签: c# wpf xaml listbox

我有一个包含ListBoxRichTextBox的视图。我的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而不是类名?

1 个答案:

答案 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}" />