windows phone (22) 隱藏元素

來源:互聯網
上載者:User

在wp中我們也會用到隱藏某個元素,已達到某種效果,剛剛從文章看到了,分享一下【作者:神舟龍】

Visibility

此屬效能非常方便的實現隱藏某個元素,但是visibility屬性不是boolean類型,他是visibility類型,並包含兩個visible和collapsed兩個成員的枚舉類型:

其中預設狀態下是visible即顯示,當設定為collapsed時,元素大小就會變成0,並且當設定為collapsed是,該屬性所屬的元素不參與事件,並且不能獲得焦點,不能獲得焦點也就不能進行點擊測試

 

xaml代碼:

<!--ContentPanel - 在此處放置其他內容-->        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"              >            <TextBlock x:Name="tb1" Text="tb1顯示" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>            <TextBlock x:Name="tb2" Text="tb2顯示"  Visibility="Collapsed" VerticalAlignment="Center" ></TextBlock>        </Grid>

 加Visibility="Collapsed"前

 

加入visibility=“Collapsed”之後

但是要注意的是,如果在版面配置階段中用到此屬性,把某個元素的大小給變成0之後,可能會影響這個布局;

Opactity

沒錯,就是這個屬性,在沒看到這個屬性前,我都沒想到會是這個屬性,不過仔細想想也是,當Opactity=“0”的時候,就把元素的透明度設定為最暗就看不到了,不過該元素還是實實在在的存在的,所以使用此屬性適合在不影響布局的情況,而且元素也不會消失

 xaml代碼:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"              >            <TextBlock x:Name="tb1" Text="tb1顯示" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>            <TextBlock x:Name="tb2" Text="tb2顯示"  Opacity="0" VerticalAlignment="Center" ManipulationDelta="tb2_ManipulationDelta" ></TextBlock>        </Grid>

 運行後的效果:

 

和上一張圖片一樣,從代碼中可以看到我們定義了一個觸摸移動事件,看看會不會實現,隱藏檔案代碼比較簡單,如下:

  private void tb2_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)        {            this.PageTitle.Text = "依然相應事件";        }

效果:

 

就像上面的一句話,依然響應事件(貌似寫這個事件測試是廢話:))

 好了,加上這句話就好了,加個屬性IsHitTestVisible="False",這樣就不會響應使用者的觸摸操作了;

 

 

 在用作布局中,opacity屬性沒有visibility屬性搞笑,如果需要用到頻繁的布局嵌套,盡量避免opacity,如果在grid等元素中使用以上兩個屬性,那麼gird中所包含的元素也會應用這兩個屬性;

如果在面板中應用rendertransform屬性,那麼面板中的子項目也會受到影響,但是如果在子面板中設定rendertransform 屬性,那麼父面板會忽略子面板變換的效果;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.