0

RichTextBox コントロールを使用して Silverlight に rtf ファイルをロードしたいのですが、このコントロールはファイルを適切な形式でロードしません。誰かがそうする方法やrtfをxamlに変換する方法を教えてもらえますか?

xaml は次のとおりです。

    <Grid x:Name="LayoutRoot" Height="480" Width="640">
            <RichTextBox HorizontalAlignment="Left" Margin="89,64,0,0" Name="rtb" VerticalAlignment="Top" Height="301" Width="416"/>
            <Button Content="Select File" Height="23" HorizontalAlignment="Left" Margin="268,12,0,0" Name="btnSelect" VerticalAlignment="Top" Width="75" Click="btnSelect_Click" />
            <TextBlock Height="23" HorizontalAlignment="Left" Margin="10,10,0,0" Name="textBlock1" Text="FileName:" VerticalAlignment="Top" Width="73" />
            <TextBox Height="23" HorizontalAlignment="Left" Margin="89,12,0,0" Name="txtFile" VerticalAlignment="Top" Width="164" />
            <Button Content="Reset" Height="23" HorizontalAlignment="Left" Margin="430,385,0,0" Name="btnReset" VerticalAlignment="Top" Width="75" Click="btnReset_Click" IsEnabled="False" />
        </Grid>


Code behind :

private void btnSelect_Click(object sender, RoutedEventArgs e)
        {

            OpenFileDialog odlg = new OpenFileDialog();

            odlg.Filter = "Text files|*.rtf";
            odlg.Multiselect = false;
            string contents = null;

            if ((bool)odlg.ShowDialog())
            {
                txtFile.Text = odlg.File.Name;

                StreamReader reader = new StreamReader(odlg.File.OpenRead());
                while (!reader.EndOfStream)
                {
                    contents = reader.ReadToEnd();
                }
                reader.Close();

                rtb.Selection.Text = contents;
                btnReset.IsEnabled = true;
            }
        }

        private void btnReset_Click(object sender, RoutedEventArgs e)
        {
            txtFile.Text = "";
            rtb.Blocks.Clear();
        }
4

0 に答える 0