0

Metro Revealed:XAMLとC#を使用したWindows8アプリの構築を読んでいます。この本には、私がコンパイルできない次のコードスニペットが含まれています。

using Windows.UI.Xaml;

...

private void HandleViewStateChange(ApplicationViewState viewState) {
    if (viewState == ApplicationViewState.Snapped) {
        GridLayout.ColumnDefinitions[0].Width
            = GridLengthHelper.FromPixels(0);
    } else {
        GridLayout.ColumnDefinitions[0].Width
            = GridLengthHelper.FromValueAndType(1, GridUnitType.Star);
    }
}

問題はGridLengthHelper、Visual Studioでは表示されないクラスにあります(VS 2012 Express for Windows8RCとVS2012Ultimate RCの両方で試してみました)。ビルドエラーは次のとおりです。

'GridLengthHelper'という名前は現在のコンテキストに存在しません

また

'Windows.UI.Xaml.GridLengthHelper'は、保護レベルが原因でアクセスできません

オブジェクトブラウザには、ドキュメントに従ってWindows.winmd本来あるべき場所にこのクラスが表示されません。ObjectBrowswerに表示されているパスに移動するとさらにイライラします。

C:\Program Files (x86)\Windows Kits\8.0\References\CommonConfiguration\Neutral\Windows.winmd

リフレクターでファイルを開くと、パブリッククラスが存在Windows.winmdすることがわかります。GridLengthHelper

4

1 に答える 1

1

新しいGridLength(ピクセル)または新しいGridLength(starWidth、GridUnitType.Star)を使用できます

于 2012-07-23T08:43:00.700 に答える