none
WPFのTextboxコントロールのバグ RRS feed

  • 質問

  • おはいようございます。

    現在、Microsoft Visual C# 2008 Expression EditionとWinXP HomeSP2と.NET Framework 3.5SP1で
    WPFアプリケーションを開発しています。

    FEP(Front End Processing)に関連して、TextboxコントロールにChineseWriter9(中国語の入力)でエラーが発生しました。
    ATOK(日本語の入力)の場合は、時々文字を出ません。

    いろいろ調べたのですが、理由が分かりません。

    皆さん宜しくお願いします。


    2008年10月9日 2:22

回答

  • Alexwpfさん、こんにちは!中川俊輔です。

     

    どのようなエラーが発生したのか、詳しく記述していただいたほうが回答を得やすいと思います。

    また、ATOKで表示できない文字は特定の文字でしょうか?

     

    ChineseWriter9が行っている処理がWPFに適合していない可能性もあるので、

    可能であればChineseWriter9の開発元にも問い合わせてみてはいかがでしょうか?

     

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。

    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年10月21日 10:11
  • フォーラムのご利用ありがとうございます。

     

    Chinese Writer 9については詳しいことがわからないのですが、

    Chinese Writer 9およびATOKがWPFで使用されているTSF(Text Services Framework)に対応していないことが

    原因かもしれません。WPFのテキストボックスでエラーが発生する事例として下記の質問がありました。

     

    WPFのテキストボックスでIMEの入力モードを変更できない。 
    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1497209&SiteID=7

     

    NyaRuRuさんが回答されている方法を試してみてはいかがでしょうか?

     

    それでは!

     

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。

    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年10月29日 9:29

すべての返信

  • Alexwpfさん、こんにちは!中川俊輔です。

     

    どのようなエラーが発生したのか、詳しく記述していただいたほうが回答を得やすいと思います。

    また、ATOKで表示できない文字は特定の文字でしょうか?

     

    ChineseWriter9が行っている処理がWPFに適合していない可能性もあるので、

    可能であればChineseWriter9の開発元にも問い合わせてみてはいかがでしょうか?

     

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。

    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年10月21日 10:11
  • 興味を示してくださってありがとう。すぐに返事を出さなくてすみません。 

     

    ■Chinese Writer 9 を使う時こちらのエラーは発生しました。

     

    System.ArgumentException was unhandled
      Message="要求された距離は、関連するドキュメントのコンテンツ外です。"
      Source="PresentationFramework"
      StackTrace:
           場所 System.Windows.Documents.TextPointer.InitializeOffset(TextPointer position, Int32 distance, LogicalDirection direction)
           場所 System.Windows.Documents.TextPointer.System.Windows.Documents.ITextPointer.CreatePointer(Int32 offset, LogicalDirection gravity)
           場所 System.Windows.Documents.ImmComposition.SetCompositionAdorner(Int32[] clauseInfo, Byte[] attributes)
           場所 System.Windows.Documents.ImmComposition.UpdateCompositionString(Char[] resultChars, Char[] compositionChars, Int32 caretOffset, Int32 deltaStart, Int32[] clauseInfo, Byte[] attributes)
           場所 System.Windows.Documents.ImmComposition.OnWmImeComposition(IntPtr hwnd, IntPtr lParam, Boolean& handled)
           場所 System.Windows.Documents.ImmComposition.ImmCompositionFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
           場所 System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
           場所 MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
           場所 MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
           場所 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
           場所 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
           場所 System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
           場所 System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)
           場所 System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
           場所 MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
           場所 MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
           場所 System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
           場所 System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
           場所 System.Windows.Threading.Dispatcher.Run()
           場所 System.Windows.Application.RunDispatcher(Object ignore)
           場所 System.Windows.Application.RunInternal(Window window)
           場所 System.Windows.Application.Run(Window window)
           場所 System.Windows.Application.Run()
           場所 WpfApplication1.App.Main() 場所 C:\Documents and Settings\shin\My Documents\Visual Studio 2008\Projects\WpfApplication1\WpfApplication1\obj\Debug\App.g.cs:行 0
           場所 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
           場所 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
           場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
           場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           場所 System.Threading.ThreadHelper.ThreadStart()
      InnerException:

     

    ■ATOKで

    例えば:Textbox1に日本語を入力して、フォーカスがない(他のTextbox2を選択する)時全てのTextbox1の文字はTextbox2に表示されました。

     

    P.S:私の日本語は中川俊輔さんに分かりますか。英語ができれば宜しくお願いいたします。


    2008年10月28日 2:03
  • フォーラムのご利用ありがとうございます。

     

    Chinese Writer 9については詳しいことがわからないのですが、

    Chinese Writer 9およびATOKがWPFで使用されているTSF(Text Services Framework)に対応していないことが

    原因かもしれません。WPFのテキストボックスでエラーが発生する事例として下記の質問がありました。

     

    WPFのテキストボックスでIMEの入力モードを変更できない。 
    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1497209&SiteID=7

     

    NyaRuRuさんが回答されている方法を試してみてはいかがでしょうか?

     

    それでは!

     

    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。

    コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2008年10月29日 9:29
  • ありがとうございます。

    NyaRuRuさんの方法を試しにやってみます。
    2008年10月31日 3:08
  • こんにちは、フォーラムオペレータ大久保です。

     

    Alexwpf さん、フォーラムのご利用ありがとうございます。

    Alexwpf さんの日本語、とてもお上手ですよ。私は英語が話せず、日本語しかできないので、Alexwpf さんのような人がうらやましいです。

     

    今回、中川 がご提案いたしました方法ですが、お試しになりましたか?

    もしよろしければ、結果について教えていただけると、他の方への参考になると思いますので、よろしくお願いします。

     

    なお、大変勝手ながら、中川 の投稿に「回答済み」チェックをつけさせていただきました。

    また何かありましたら MSDN フォーラム(日本語)をよろしくお願いします。

    2008年12月2日 5:35