1

ユーザーがInkManagerを使用して描画できるキャンバスを備えた Windows ストア アプリがあります。下部のアプリ バーには、色、ストロークの太さなどを選択するためのボタンがいくつかあります。これらは、たとえばカラー ピッカーを含むフライアウト要素を表示することによって実装されます。

<Page.BottomAppBar>
    <CommandBar IsSticky="True">
        <AppBarButton ...>
            <AppBarButton.Flyout>
                <Flyout>
                    <ColorPicker .../>
                </Flyout>
            </AppBarButton.Flyout>
        </AppBarButton>
    </CommandBar>
</Page>

問題は、ほとんどのユーザー (私を含む) が小さな問題につまずき続けることです。ボタンをタップすると、フライアウトが開き、色を選択できます。次に、描画を開始し、キャンバス上で指 (またはスタイラス) を動かして、新しい色でストロークを作成することを期待します。ただし、タッチ イベントはポップアップを閉じるだけです。フライアウト要素が何らかの形でポインター イベントをキャプチャしているようです (ただし、UIElement ではありません)。

この問題を防ぐ方法はありますか? 理想的には、キャンバスに触れるとフライアウトが閉じられますが、同じタッチ イベントがキャンバスによって処理されるため、すぐに描画を開始できます。

4

2 に答える 2

0

Flyoutおそらくコントロールを使用してコンテンツを表示すると思うPopupので、それが見つかった場合は、プロパティを変更できIsLightDismissEnabledます。それ以外の場合は、パラメーターを制御できるように、単に a のPopup代わりに a を使用Flyoutします。

于 2014-05-19T07:12:45.040 に答える