在VisualState状态里更改Grid的列宽之类的
生活随笔
收集整理的這篇文章主要介紹了
在VisualState状态里更改Grid的列宽之类的
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Win10的UWP有個StateTriggers ,挺不錯,但是我還希望有一個方式,能更改Grid的列寬行高之類的東西,比如我之前用的http://l4ljl.codeplex.com/SourceControl/latest#RichMan4LUni/Pages/MainPage.xaml ,里面會根據我是不是橫屏而轉換顯示的樣式,現在沒設備截不了圖只好干說了。
這個東西~本來以為可以用Blend直接設計器里點的~發現得自己改兩行代碼。
第一步是需要給Grid的列之類的命個名,就像這樣
1 <Grid.ColumnDefinitions> 2 <ColumnDefinition x:Name="Col1"/> 3 <ColumnDefinition x:Name="Col2" Width="2*"/> 4 <ColumnDefinition x:Name="Col3"/> 5 </Grid.ColumnDefinitions> 6 <Grid.RowDefinitions> 7 <RowDefinition Height="15*"/> 8 <RowDefinition Height="Auto"/> 9 <RowDefinition Height="10*"/> 10 <RowDefinition Height="Auto"/> 11 <RowDefinition Height="5*"/> 12 <RowDefinition Height="Auto"/> 13 <RowDefinition Height="5*"/> 14 <RowDefinition Height="Auto"/> 15 <RowDefinition x:Name="Row" Height="20*"/> 16 </Grid.RowDefinitions>給需要變換的行或者列附一個名字。
第二步是在VisualState 里面加Setter 。
1 <VisualState x:Name="Wide"> 2 <VisualState.Setters> 3 <Setter Target="Col1.Width" Value="5*"/> 4 <Setter Target="Col2.Width" Value="2*"/> 5 <Setter Target="Col3.Width" Value="1.5*"/> 6 <Setter Target="Row.Height" Value="15*"/> 7 <Setter Target="Title.(Grid.ColumnSpan)" Value="1"/> 8 </VisualState.Setters> 9 <VisualState.StateTriggers> 10 <AdaptiveTrigger MinWindowWidth="640" MinWindowHeight="360"/> 11 </VisualState.StateTriggers> 12 13 </VisualState>就這樣寫就可以,剛寫好的時候會有下劃線各種報錯,不用管編譯一下就好了。
轉載于:https://www.cnblogs.com/Wencey/p/4985744.html
總結
以上是生活随笔為你收集整理的在VisualState状态里更改Grid的列宽之类的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lucene查询语法详解
- 下一篇: 高程 第6章面向对象的程序设计 6.1