我已經嘗試使用width="auto"
和HorizontalAlignment="Stretch"
,但他們兩個都不會給我我想要的結果。看起來文本框的寬度總是基於文本框標題的大小。爲什麼?如何使文本框的寬度與父視圖的寬度相同
這是XMAL:
<ListView Width="auto">
<TextBox Width="auto"
Header="Please Enter Email Address"/>
<TextBox HorizontalAlignment="Stretch"
Header="Please Enter Email address"/>
</ListView>
這是輸出:
這就是我要找:
我得到的上面的截圖通過設置寬度爲a固定值。但我想找到一種方法讓文本框自動根據父視圖調整大小(例如,在本例中爲ListView
)。
編輯:
根據艾倫的答案,它工作在肖像模式很棒。但是仍然沒有考慮景觀的全部寬度。
<ListView x:Name="lv" Width="auto">
<TextBox Width="{Binding ElementName=lv, Path=ActualWidth}"
Header="Please Enter Email Address"/>
<TextBox Width="{Binding ElementName=lv, Path=ActualWidth}"
Header="Please Enter Email address"/>
</ListView>
左圖:人像模式;正確的圖像:風景模式。
編輯2:
我注意到兩個@艾倫的答案,並@ Jogy的答案都好,如果父視圖是<Page>
。但是,如果父視圖是<ContentDialog>
,它們都不起作用。事實上,如果父視圖是<Page>
,則簡單地使用此<TextBox Width="auto"/>
將按預期工作。 Windows Phone可能存在一些我不明白的事情。
太棒了,謝謝!這實際上在肖像模式下工作。不過,如果我旋轉設備,它仍然只佔用屏幕寬度的一部分。有關於此的任何想法? –
我更新了我的答案。之後我注意到Jogy提供了正確的方向。 –
你好艾倫。再次感謝您的編輯!我注意到我的父視圖''而不是''。因此,我將''更改爲。但我根本沒有看到任何效果。你有什麼主意嗎? –