私はMVVMアプリケーションで作業しています(ここの例は非常にMVVMではありません)。TextBoxの幅をListBoxの幅に制限します。
TextItemViewModel
インスタンスのコレクションにバインドするListView
があります。これらのビューはTextItemView
で定義されています。各TextItemView
は、Grid
を含み、1つはAuto
の列であり、*
の列は満たされます。塗りつぶしの列には、ユーザーがテキストを入力できるTextBox
が含まれています。
私はそうのように、(この作品)ListView
の水平方向のスペースを埋めるためにTextItemView
秒をしたい:ユーザーがボックス内の長いテキストを入力したとき、私はそれがしたい、
しかし、 Height
で拡張しますが、Width
では拡張しません。現時点では、Width
増加し、ListView
はそうのように、スクロールバーを取得します。
マイListView
コードは次のようになります(私はコードでItemsSource
をコードバインディングMVVMを取り出して設定しました-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>
は、誰もが(それがないとして)ListView
の幅を埋めるためにTextItemView
を強制するが、その後TextBox
をラップし、TextBox
がいっぱいになるときHeight
でTextItemView
を拡張する方法で私に助言することはできますか?