Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 加载RTF文件后WPF RichTextBox未滚动_C#_Wpf_Xaml_Richtextbox - Fatal编程技术网

C# 加载RTF文件后WPF RichTextBox未滚动

C# 加载RTF文件后WPF RichTextBox未滚动,c#,wpf,xaml,richtextbox,C#,Wpf,Xaml,Richtextbox,我正在尝试将RTF格式文件加载到WPF RichTextBox中。当我执行加载时,看起来好像文件正在加载到RichTextBox中,但滚动条显示时没有可见的滑块框来滚动下载。滚动条不显示底部箭头,因此滚动条的底部似乎在RichTextBox的显示区域下方。这会阻止用户向下滚动。我认为我要么缺少RichTextBox的XAML属性,要么加载RTF文件的方式不正确。请帮忙。提前谢谢 <Grid> <Grid.ColumnDefinitions>

我正在尝试将RTF格式文件加载到WPF RichTextBox中。当我执行加载时,看起来好像文件正在加载到RichTextBox中,但滚动条显示时没有可见的滑块框来滚动下载。滚动条不显示底部箭头,因此滚动条的底部似乎在RichTextBox的显示区域下方。这会阻止用户向下滚动。我认为我要么缺少RichTextBox的XAML属性,要么加载RTF文件的方式不正确。请帮忙。提前谢谢

   <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
         </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
         </Grid.RowDefinitions>

        <StackPanel Grid.Row="0" Grid.RowSpan="5" 
                    Grid.Column="0" Grid.ColumnSpan="3" 
                    VerticalAlignment="Stretch" HorizontalAlignment="Stretch">

            <RichTextBox x:Name="LicenseRichTextBox" Margin="10"
                    VerticalAlignment="Stretch" HorizontalAlignment="Stretch"                 

                  IsReadOnly="True"  VerticalScrollBarVisibility="Visible">
            </RichTextBox>
        </StackPanel>
             <StackPanel Grid.Row="6"  Grid.Column="1" Grid.ColumnSpan="3" Margin="65,20,0,0" >
                <Button  x:Name="CloseButton" HorizontalAlignment="Left"
                      Width="90" Margin="-10,0,0,0"
                     Click="CloseButton_Click">
                    <StackPanel Orientation="Horizontal">
                        <Image Source="{StaticResource CloseButtonImageKey}" 
                           Margin="5,0,0,0" Height="20" Width="20" />
                        <TextBlock Padding="5,0,0,0" VerticalAlignment="Center"><Run Text="Close"/></TextBlock>
                    </StackPanel>
                </Button>
            </StackPanel>    
    </Grid>



   public  void LoadRTF()
    {
      const string EULA_Dir = @"Resources\EULA\EUlA.RTF";
      string currentDir = AppDomain.CurrentDomain.BaseDirectory;
      string PathToEULA = currentDir + EULA_Dir;

      if (File.Exists(PathToEULA))
      {
         LicenseRichTextBox.Selection.Load(new FileStream(PathToEULA, FileMode.Open), DataFormats.Rtf);
      }
      else
      {
        MessageBox.Show("Unable to locate the following file " + PathToEULA);
      }
    }

公共void LoadRTF()
{
常量字符串EULA_Dir=@“Resources\EULA\EULA.RTF”;
字符串currentDir=AppDomain.CurrentDomain.BaseDirectory;
字符串pathteoeula=currentDir+EULA_Dir;
if(File.Exists(PathToEULA))
{
LicenseRichTextBox.Selection.Load(新文件流(PathToEULA,FileMode.Open),DataFormats.Rtf);
}
其他的
{
MessageBox.Show(“无法找到以下文件”+PathToEULA);
}
}

胡乱猜测-您的
RichTextBox
位于
堆栈面板中。堆栈面板不约束其子级,而是具有无限的内部空间,并根据其子级内容进行增长。因此,您的文本框不受约束,因此它不认为需要显示滚动条


目前还没有出现在开发环境面前,因此我无法确认这一点,但请尝试将其从
堆栈面板中取出,看看它有什么作用。

可以显示屏幕截图吗?另外,在富格文本区域中单击,并通过方向键或鼠标滚动进行滚动-这样做有效吗?MarcE您的目标正确。是的,这就是问题所在。我一把RichTextBox从滚动条中取出,它就开始正常工作,看起来也很正常。RichTextBox现在看起来运行良好。我希望在将来遇到问题时记住这一点。非常感谢。