2012-03-07 11 views
2

私はMVVMアプリケーションで作業しています(ここの例は非常にMVVMではありません)。TextBoxの幅をListBoxの幅に制限します。

TextItemViewModelインスタンスのコレクションにバインドするListViewがあります。これらのビューはTextItemViewで定義されています。各TextItemViewは、Gridを含み、1つはAutoの列であり、*の列は満たされます。塗りつぶしの列には、ユーザーがテキストを入力できるTextBoxが含まれています。

私はそうのように、(この作品)ListViewの水平方向のスペースを埋めるためにTextItemView秒をしたい:ユーザーがボックス内の長いテキストを入力したとき、私はそれがしたい、

enter image description here

しかし、 Heightで拡張しますが、Widthでは拡張しません。現時点では、Width増加し、ListViewはそうのように、スクロールバーを取得します。

enter image description here

マイ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がいっぱいになるときHeightTextItemViewを拡張する方法で私に助言することはできますか?

答えて

関連する問題