Neutral Scent

App developments & Gadgets

ポップアップ内のコントロールではTSF以外の入力ができない?

WPFでPopupコントロールを使い、その中にTextBoxなどを配置するとTabletPC+VistaでInput Panelが出なくなります。
おかしいなぁ、と思いつつ、InputMethodオブジェクトなどいろいろ試していたのですが、どうにもなりません。
色々やってるうちに、TSFをOffにしたXPのマシン(地域と言語のオプション/言語/詳細/詳細設定/高度なテキストサービスをオフにする)でもIMEをActiveにできないことがわかりました。
なんでTSFをOffにしてるかというと、TSFが昔からbuggyでおかしな動きをするからなのですが(Natural Inputが勝手にOnになるとか、IMEが勝手に入れ替わるとか色々...)、それはともかく、メインウインドウでできることがPopupの中だけできないというのも困りますし、TSFが動いているかなんてふつうはわかりません。古めのATOKとか使っているとどうなるのか...?
以下確認用のサンプルコード。
Tablet PCの場合、Parent Textではペン入力できますが、Popup Textにはパレットが出せません。
TSFがOffだとPopup TextでIMEが使えません。

< Window x:Class="XamlPopupInputSample.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="XamlPopupInputSample" Height="300" Width="300"
    >
    
      
        
        
        
      
    

using System;
using System.Windows;
using System.Windows.Controls;

namespace XamlPopupInputSample
{
	/// 
	/// Interaction logic for Window1.xaml
	/// 

	public partial class Window1 : System.Windows.Window
	{
		public Window1()
		{
			InitializeComponent();

			cmdPopup.Click += new RoutedEventHandler(cmdPopup_Click);
		}

		void cmdPopup_Click(object sender, RoutedEventArgs e)
		{
			popper.IsOpen = true;
		}

	}
}

WPFの仕様で片付けられてしまうと、非常に辛い。
Popupコントロールが使える局面がかなり狭まってしまいます。
Vistaとかx64関連でもIMEが使えないだのなんだのという話が散見されるし、世に出てしまったのはしょうがないけど、早期になんとかしてほしいところです...。
TSFももーちょいなんとかしてほしいですよ、だいたいドキュメントろくに無いし、.NET/WPFの対応もぞんざいだし...。