問題以及解決------在Window設置了SizeToContent=WidthAndHeight屬性下怎麼如何使RowDefinitions中設置的寬度比例生效

  問題:在寫一個彈窗的時候做了如下的定義

<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}" ,這樣就解決了比例的問題。

 

    一些東西果然是要到用的時候纔會知道自己有沒有掌握。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章