2

vs2012 RC の「グリッド」の例を使用すると、スナップ ビューにいるときにグリッドが ListView に変わります。私のアプリケーションでは、snapview で項目が選択されたときに itemInvoked ページ メソッドが呼び出されないようにします。また、ユーザーに何かが起こると思わせるアイテムのアニメーションも望んでいません。iteminvoked を無効にする方法は知っていますが (以下を参照)、アイテムが選択された (呼び出された) ときにアニメーションを取り除く方法はわかりません。

   itemInvoked: function (args) {
        if (appView.value != appViewState.snapped) {
            var listView = document.getElementById("groupdetaillistId").winControl;
4

3 に答える 3

3

次の WinJS.UI.ListView プロパティを変更すると、「クリック」アニメーションが削除され、アイテムがクリックできなくなります。

selectionMode: 'none'
tapBehavior: 'none'
swipeBehavior:'none'

http://msdn.microsoft.com/en-us/library/windows/apps/br211851.aspx

http://msdn.microsoft.com/en-us/library/windows/apps/hh700733.aspx

http://msdn.microsoft.com/en-us/library/windows/apps/hh700730.aspx

于 2012-11-30T13:22:14.640 に答える
2

問題は、WinJS が実際にアニメーションでインライン スタイルを実行することです。CSS を使用して無効にする方法はありません。ただし、JavaScript の機能を使用して、関数の動作をリセットすることができます。

window.addEventListener("resize", handleResize);

var origFunc = WinJS.UI._SelectionMode.prototype.togglePressed;

function handleResize(evt) {

    var currentViewState = Windows.UI.ViewManagement.ApplicationView.value;

    if (currentViewState === 2) {
        WinJS.UI._SelectionMode.prototype.togglePressed = function (add) {};
    }
    else {
        WinJS.UI._SelectionMode.prototype.togglePressed = origFunc;
    }
}

あなたの問題を見たときにこの解決策にたどり着いたこのリンクを見つけました。 http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/847cefe9-30f6-4f05-96ad-26ece31b77c5

このコードはすべてグローバル空間にあります。リサイズイベントに登録する

window.addEventListener("resize", handleResize);

元の関数を変数に格納する

var origFunc = WinJS.UI._SelectionMode.prototype.togglePressed;

サイズ変更イベントを処理する

function handleResize(evt) {

現在のビューステートを取得する

    var currentViewState = Windows.UI.ViewManagement.ApplicationView.value;

スナップ モードの場合は、関数を空に設定します

    if (currentViewState === 2) {
        WinJS.UI._SelectionMode.prototype.togglePressed = function (add) {};
    }

それ以外の場合は、WinJS バージョンに戻します

    else {
        WinJS.UI._SelectionMode.prototype.togglePressed = origFunc;
    }
}

お役に立てれば。

于 2012-07-27T06:58:51.230 に答える
1

BZは正しい道を進んでいます。ListView には、ハックな Javascript を必要としない、これに対処するためのネイティブ メカニズムがあります。私はBZに賛成票を投じ、チャド・カーターに反対票を投じたでしょうが、評判ポイントはありません. それは、10 年間、StackOverflow の無言の、サブスクライブしていないオブザーバーであるために得られるものだと思います:/

于 2013-05-15T07:44:38.780 に答える