2016-08-08 4 views

答えて

2

可視性:折りたたみにスペースがないここで

は、それを確認する例です。この例では

page.xml

<Page loaded="loaded"> 
    <StackLayout> 
     <Button text="{{ showDetails ? 'Hide' : 'Show' }}" tap="toggle" /> 
     <GridLayout width="200" height="200" backgroundColor="red" visibility="{{ showDetails ? 'visible' : 'collapsed' }}" > 
      <Label text="{{ showDetails }}" textWrap="true" /> 
     </GridLayout> 
     <GridLayout width="200" height="200" backgroundColor="gray" > 
      <Label text="Always visible element" textWrap="true" /> 
     </GridLayout> 
    </StackLayout> 
</Page> 

page.ts

var observable = require("data/observable"); 
var pageData = new observable.Observable(); 

exports.loaded = function(args) { 
    pageData.set("showDetails", true); 
    args.object.bindingContext = pageData; 
} 

exports.toggle = function() { 
    pageData.set("showDetails", !pageData.get("showDetails")); 
} 

を変更するとき中央の要素(赤いグリッドボックス)の可視性は、占有スペースなしで完全に崩壊し、3番目の要素(灰色のグリッドボックス)が上に移動します。

+2

ありがとうございました。私はListViewアイテムを隠そうとしていました。最も外側の要素がStackLayoutであり、表示を折りたたむように設定すると、すべてのネストされた要素が隠されますが、それでもスペースが必要です。しかし、余分なレベルのStackLayoutを追加し、内側の要素に可視性を適用すると、期待どおりに機能します。 – dashman

+0

@dashmanコメントが保存されました。ありがとうございました。 – Steve

関連する問題