我正在研究MVVM應用程序(這裏的示例雖然不是MVVM,但它只是一個模型)。將TextBox的寬度限制爲包含它的ListView的寬度
我有一個ListView
,綁定到TextItemViewModel
實例的集合,這些視圖在TextItemView
中定義。每個TextItemView
包含一個Grid
,其中一個Auto
列和*
列填充。填充列包含用戶可以輸入文本的TextBox
。
我想TextItemView
s到填補ListView
的水平空間(這工作),像這樣:
然而,當用戶在框中輸入長的文本,我希望它展開在Height
但不在Width
。目前,該Width
增加,ListView
得到一個滾動條,像這樣:
我ListView
代碼如下所示:(我已經在代碼中取出MVVM綁定代碼,並設置ItemsSource
-behind在這個例子中)
<ListView Name="listview"
SelectionMode="Single"
Margin="5"
MinHeight="50"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch" />
而且我TextItemView
代碼如下所示:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Button Content="SomeButton"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="5"
Grid.Column="0" />
<TextBox Text="{Binding Path=NoteText}"
TextWrapping="Wrap"
AcceptsReturn="True"
AcceptsTab="True"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
HorizontalAlignment="Stretch"
Margin="5"
Grid.Column="1" />
</Grid>
誰能告訴我如何迫使TextItemView
填補ListView
的寬度(因爲它),但隨後包裹TextBox
和擴大TextItemView
在Height
當TextBox
填滿?