日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在VisualState状态里更改Grid的列宽之类的

發布時間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在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的列宽之类的的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。