我遇到以下问题:
我有一个TabControl
,ItemsSource
设置为与ObservableCollection
对象的绑定。在Content
的{{1}}属性中,我放了一个RichTextBox,我要加载一个文本文件。这是XAML片段:
TabControl
对于每个新文件,我希望能够使用 <TabControl Grid.Column="0" x:Name="openFiles" ItemsSource="{Binding OpenedFiles}">
<TabControl.ItemTemplate>
<!-- this is the header template-->
<DataTemplate>
<TextBlock Text="{Binding name}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<!-- this is the body of the TabItem template-->
<DataTemplate>
<RichTextBox x:Name="fileTextBox"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
和TextRange
对象将文件内容加载到RichTextBox,如下所示:
FileStream
但是,我不知道如何从代码隐藏级别引用if (openFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK )
{
TextRange range;
System.IO.FileStream fStream;
if (System.IO.File.Exists(openFile1.FileName))
{
range = new TextRange(RichTextBox1.Document.ContentStart, RichTextBox1.Document.ContentEnd);
fStream = new System.IO.FileStream(openFile1.FileName, System.IO.FileMode.OpenOrCreate);
range.Load(fStream, System.Windows.DataFormats.Rtf );
fStream.Close();
}
}
中的RichTextBox
。