WPF の CheckBox コントロールのチェック マーク (オプション マーク) について

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、WPF の CheckBox コントロールのチェック マーク (オプション マーク) についてご案内します。   現象 WPF の CheckBox コントロールにおいて FlowDirection プロパティを RightToLeft に設定すると、CheckBox コントロール全体が「左向き」に描画されるだけでなく、CheckBox コントロールのチェック マーク部分も「左ハネ」で描画されるようになります。 ※ WPF の CheckBox コントロールの例   なお、アラビア語版 Windows の Explorer の CheckBox コントロールや、同様に RightToLeft 設定された Windows フォームの CheckBox コントロールについては、チェック マーク部分は「右ハネ」のまま描画されます。 ※ Windows フォームの CheckBox コントロールの例   原因 この動作は、WPF の…


TreeView を操作していると、StackOverflowException 例外で WPF アプリケーションが強制終了します

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、TreeView を操作している時に、WPF アプリケーションが StackOverflowException 例外で強制終了する問題についてご案内します。   現象 TreeView を実装した WPF アプリケーションにおいて、スクロールバーから TreeView をスクロールさせる、TreeView のクライアント領域をマウスでクリックする等の操作を行うと、StackOverflowException 例外でプロセスが強制終了することがあります。 本現象は、.NET Framework のバージョン 4.7 および 4.7.1 でのみ確認されています。   原因 本現象は、.NET Framework 4.7 ならびに 4.7.1 の TreeView 内部で使用している、VirtualizingStackPanel の仮想化処理の不具合が原因で発生しています。   回避策 以下のいずれかの回避策をご検討ください。 回避策 (1) TreeView の VirtualizingStackPanel.IsVirtualizing プロパティを False に設定し、仮想化オフの状態で TreeView を使用するようにします。 回避策 (2) TreeView の…


タッチ ディスプレイのケーブルを抜き差しすると、WPF アプリケーション上でタッチおよびスタイラス操作ができなくなる

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、タッチディスプレイを接続したコンピューターにおいて、タッチやスタイラスで WPF アプリケーションを操作する場合の問題についてご案内します。   現象 コンピューターに接続しているタッチ ディスプレイのケーブルを抜き差しすると、稀に WPF アプリケーション上でタッチおよびスタイラス操作ができなくなる問題が確認されています。 この問題が発生すると、WPF アプリケーションを再起動するまで、WPF アプリケーション上のタッチおよびスタイラス操作が行えなくなります。   詳細 コンピューターに接続しているタッチ ディスプレイのケーブルを抜き差しすると、Windows はデバイスの抜去、接続状態を検出し、全てのトップレベル ウィンドウに対して、新しいデバイスとしてタッチ ディスプレイが有効になったことを通知します。 この通知を受け取った WPF アプリケーションは、アプリケーションで管理・制御しているタッチおよびスタイラス用の内部情報を初期化して、新しいデバイス上でのタッチおよびスタイラス操作に備えます。 ところが、Windows ならびに .Net Framework (WPF) の内部処理において、タッチおよびスタイラス関連の処理が、適切に制御されないという問題がありました。 こうした問題により、新しいデバイスとしてタッチ ディスプレイが接続されたにも関わらず、WPF アプリケーションでは既存の内部情報を適切に初期化することができず、ユーザーがタッチおよびスタイラス操作を行っても、WPF アプリケーションがそれを検出できないという問題が発生します。   原因 本現象は、以下のバージョンの .NET Framework (WPF) および Windows の問題です。 弊社製品の問題によりご不便をおかけしますことを、深くお詫びいたします。 Windows 7 SP1 Windows 8 Windows 8.1 Windows…


Path Markup – 楕円弧の描画について

こんにちは、Platform SDK (Windows SDK) サポートチームです。  WPF は、「Loose XAML」と呼ばれるコンパイル不要なマークアップを読み込み、Internet Explorer 内に描画する機能を持っています。 今回は、Loose XAML で非常に大きな楕円弧を書いた場合、始点と終点が正しい位置に描画されない事象が見られることをご紹介します。  例えば、次のようなコードを記述し、拡張子 .xaml で保存します。 これにより、Loose XAML ファイルが作成されます。 このファイルを Internet Explorer 11 で表示した場合、WPF のレンダリングエンジンによって、図 1のような楕円弧が描かれます。     <?xml version=”1.0″ encoding=”utf-8″?>   <Canvas  Background=”#ffffff” xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation” xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”>     <Canvas.RenderTransform>        <TransformGroup>             <TranslateTransform X=”-26000″ Y=”-3000″ />         </TransformGroup>      </Canvas.RenderTransform>     <Path Stroke=”#ff0000″>       <Path.Data>           <PathGeometry Figures=”M 26557.35,3320.226 A 1703595,1703595,0,1,0,26569.29,3290.773″/>      </Path.Data>     </Path>  </Canvas>   上記は PathGeometry 要素により、Figures 属性中の…