none
TextWrappingでの文字化けについて RRS feed

  • 質問

  • Textboxで表示文字列をエリア内の自動改行を行うためにXAMLのTextboxプロパティにおいて、TextWrappingプロパティをWrapWithOverFlowもしくはWrapと設定したところ、以下のような文字化けが、発生しました。

    文字化けを防ぐためにはどのような対応を行ったほうがよろしいでしょか。

    なお、文字列はXMLより取得した文字列を表示し、文字列中に改行コードは入っておりません。

    表示エリアの制限のためカタカナは半角としております。

    <文字化けが発生するパターン>

    1.  「表示エラ-」

    -表示エラ

     

    2.「Check Var Sum("B)」

    Check Var
    ("Sum(B

     

    3.「HDD表示バー(2)」

    HDD表示
    (バー(2

     

    XAMLの定義

    <TextBox Style="{StaticResource ViewTextBox}" 
    Text="File Open Alarm" HorizontalContentAlignment="Center" 
    TextWrapping="Wrap"  Name="m_textBox1" 
    VerticalContentAlignment="Center" Foreground="Black" 
    VerticalAlignment="Bottom" BorderThickness="0" FontSize="11" 
    Height="53" Margin="0,0,0,2"/>
    ご教授のほどよろしくお願いいたします。
    [環境] VisualStatido2010 C# WPF
    [Visual Studio フォーラム > Visual C# より移動しました。]
    2011年12月19日 1:40

回答

  • 前スレッドにおいて質問しましたuedaです。

    内容を確認させて頂きました。

    XML読み込みの方法として、何を使っておられるのかも知りたかったのですが、

    その部分を書いていただけなかったので、

    今書いて頂いている条件を満たした上で、文字が普通に表示されるXMLの読み込み方法を簡単にプロジェクトにしてアップしてみました。

    WpfLinqToXml

    問題の解決と言うよりは別の方法の提案になるのですが。

    (また、同じプロジェクトを実行して違う結果が出るのかを試して頂きたいなと思い、この形にしてみました。)

     

    私の環境は以下のとおりです。

    環境:windowsXP Visualstudio2010 .NET FW4

    プロジェクトをダウンロードしてご確認ください。

    これでも同じ問題が再現するようでしたら、すみませんが私の環境ではお手上げです。

    ごかくにんおねがいします。


    • 編集済み uedahiroyuki 2011年12月19日 5:16 リンク先修正のため
    • 回答の候補に設定 山本春海 2011年12月29日 8:33
    • 回答としてマーク 山本春海 2012年4月2日 8:55
    2011年12月19日 4:59

すべての返信

  • http://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/bd679bbe-81ea-4e24-9c8d-c66863db6344
    より移動
    <追加事項>
    uedahiroyuki様よりの質問に回答します。

    ・XMLデータの文字コード。

    ⇒文字コード:Unicode(UTF-8)  改行コード:CR+LF

    ・XML読み込みのタイミングとその方法。

    ⇒TextBox m_textBox1を表示しているUserControlのLoadイベント後時にXMLの読み込みをおこなっています。

    ・「ViewTextBox」のスタイル定義の内容。

        <Style x:Key="ViewTextBox" TargetType="TextBox">
            <Setter Property="FontSize" Value="11"/>
            <Setter Property="FontFamily" Value="メイリオ" />
            <Setter Property="IsReadOnly" Value="true" />
            <Setter Property="AllowDrop" Value="False" />
            <Setter Property="Focusable" Value="False" />
            <Setter Property="Foreground" Value="Black" />
            <Setter Property="BorderThickness" Value="0" />
            <Setter Property="Cursor" Value="Arrow" />
        </Style>
    


    かぶっている定義が有りましたので、XMALは以下のように訂正しましたが、

    改善することが有りませんでした。

            <TextBox Style="{StaticResource ViewTextBox}" 
            Text="File Open Alarm" HorizontalContentAlignment="Center" 
            TextWrapping="WrapWithOverflow" Name="m_uiTxtIoStatus" 
        VerticalContentAlignment="Center" VerticalAlignment="Bottom" Height="53" Margin="0,0,0,2"/>


    ・XMLの動的生成

    ⇒XMLの動的生成はありません。

     

    ご確認およびご教授のほどよろしくお願いいたします。

    2011年12月19日 1:45
  • 前スレッドにおいて質問しましたuedaです。

    内容を確認させて頂きました。

    XML読み込みの方法として、何を使っておられるのかも知りたかったのですが、

    その部分を書いていただけなかったので、

    今書いて頂いている条件を満たした上で、文字が普通に表示されるXMLの読み込み方法を簡単にプロジェクトにしてアップしてみました。

    WpfLinqToXml

    問題の解決と言うよりは別の方法の提案になるのですが。

    (また、同じプロジェクトを実行して違う結果が出るのかを試して頂きたいなと思い、この形にしてみました。)

     

    私の環境は以下のとおりです。

    環境:windowsXP Visualstudio2010 .NET FW4

    プロジェクトをダウンロードしてご確認ください。

    これでも同じ問題が再現するようでしたら、すみませんが私の環境ではお手上げです。

    ごかくにんおねがいします。


    • 編集済み uedahiroyuki 2011年12月19日 5:16 リンク先修正のため
    • 回答の候補に設定 山本春海 2011年12月29日 8:33
    • 回答としてマーク 山本春海 2012年4月2日 8:55
    2011年12月19日 4:59
  • 先の返信のリンク先を修正しました。

    File→Download original

    でファイルを落としてご確認ください。

    • 編集済み uedahiroyuki 2011年12月19日 5:26 リンク先修正済みのため
    2011年12月19日 5:14
  • こんにちは、nan_taka さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    その後いかがでしょうか。
    uedahiroyuki さんからの情報は確認されましたか?
    その後の状況など情報更新していただけるとうれしいです。
                                                      
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2011年12月29日 8:35
  • ご意見ありがとうございました。

    頂きましたサンプルを確認したところ、文字化けは発生しませんでした。

    こちらが作成しているモジュールにおいて何が原因が現在調査中です。

     

    要因分かり次第、追記いたします。

    2012年1月5日 0:10
  • ご確認ありがとうございました。

     

    私が独自で書いた部分は、

    XMLファイルの構成(ノードなど)と、XML読み込みの方法(LinqToXmlを使用)の2点ですので、

    サンプルプロジェクトにおいて、その部分だけお手持ちのものに置き換えて頂ければ原因の判明が早いかもしれません。

    その上で再現しないようでしたら、別の要因があるのだと思います。

     

    また、上記2点についてや、新たに見つかった怪しい部分など、情報を頂ければこちらでも調べて見ますので、よろしければご活用ください。

    よろしくおねがいします。

    2012年1月5日 3:45