問題:在寫一個彈窗的時候做了如下的定義
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.4*"/>
<ColumnDefinition Width="0.4*"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
啓動界面後發現第一列與第二列沒有實現預想中的1:1的比例,嘗試過寫死寬度,但是這樣就失去了自適應的功能。
解決方法: 後來,經過一番檢查,發現在預定義的window樣式裏面有這麼一句話 SizeToContent=WidthAndHeight,這句話的含義,就如字面上的意思一樣,窗口的寬度與高度是由窗口內的內容決定了,在這個大條件下,我再裏面設置的列寬比例纔沒有到預期的目標。
於是我想到了那乾脆讓第二列的寬度與第一列保持一致得了,又加上WPF本身的binding屬性,所以我再第二列的屬性中,增加了這麼一句話 Width="{Binding ActualWidth,ElementName=tbTag(第一列控件的名字),Mode=OneWay}" ,這樣就解決了比例的問題。
一些東西果然是要到用的時候纔會知道自己有沒有掌握。