2016-04-08 2 views
0

私はListBoxで複数行を作成しようとしています。ListBox(TextBoxアイテム)で複数行のテキストを作成する方法は?

だから、私はthis questionを読み、このXAMLを作る:

<ListBox Grid.Row="1" x:Name="lbKeyPhrases" BorderBrush="Gray" 
     ItemsSource="{Binding Templates}"           
     IsSynchronizedWithCurrentItem="True" 
     Focusable="True"                 
     ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
     ScrollViewer.VerticalScrollBarVisibility="Auto" 
     HorizontalContentAlignment="Stretch" Grid.ColumnSpan="2"           
     > 
    <ListBox.ContextMenu> 
     <ContextMenu> 
      <MenuItem Header="Add Word" Click="MenuItem_Click"> 
       <Image Source="/SomeProj.UI.Resources;component/PNGImages/ItemAdd.png"/> 
      </MenuItem> 
     </ContextMenu> 
    </ListBox.ContextMenu> 

    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <DockPanel> 
       <Border x:Name="brRow" BorderThickness="1" BorderBrush="LightGray" 
         Background="WhiteSmoke" 
         HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
        <TextBox x:Name="tblbRow" 
          Text="{Binding Text,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
          Tag="{Binding}" 
          GotFocus="tblbRow_GotFocus" 
          AcceptsReturn="True"          
          TextWrapping="Wrap" Margin="2" 
          Focusable="True" 
          Background="Transparent" 
          HorizontalAlignment="Stretch" 
          ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
          > 
         <TextBox.ContextMenu> 
          <ContextMenu> 
           <MenuItem Header="Remove Word" 
              Click="MenuItem_Click_RemoveTemplate"> 
            <Image Source="/SomeProj.UI.Resources;component/PNGImages/ItemDel.png"/> 
           </MenuItem> 
          </ContextMenu> 
         </TextBox.ContextMenu> 
        </TextBox> 
       </Border> 
      </DockPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

しかし、私のために動作していないこと、らしいです。 私は行を編集する必要があるので、TextBlockの代わりにTextBoxを使用します。 だから、私は、テキスト行が非常に大きい場合、それはmulitileにラップします。

スクロールしないでください。

どうすればいいですか?

P.S.それは別のグリッドから来たので、スクロールは処分されないようです。

+0

あなたのXAMLは正常に動作しているようです...あなたの 'TextBox'が折り返されないような他のもの(つまりスタイル)はありませんか? –

+0

@IlVic、上のグリッドで、ScrollViewer.Horizo​​ntalScrollBarVisibility = "Auto"、ScrollViewer.CanContentScroll = "True" –

+1

ラップする必要があるときに水平スクロールバーが表示されますか? (ScrollViewer.Horizo​​ntalScrollBarVisibility = "Disabled"を持っていることに気付いていません) – Joe

答えて

1

要求されたとして、答えとして私のコメント:それはのそれをラップする必要があることを十分に長いを得るとき

水平スクロールバーが表示されていますか?コンテンツはScrollViewer内で必要なだけ拡大縮小できるので、ラッピングは発生しません。折り返しはすべての水平スペースを満たすコントロールに2次的に来るので、スクロールすると無限のスペースを消費することができます。

設定:あなたのテキストボックスを含むコントロール(リストボックス)で

ScrollViewer.HorizontalScrollBarVisibility="Disabled" 

は、この動作を防ぐ必要があります。

0

@ジョー右:上部グリッドはScrollView.HorizontalBarVisible:Autoなので、Disableに変更して動作します。

+0

私はチェックして見たと思っていたので、すごくコードを誤読しているはずです。ScrollViewer.Horizo​​ntalScrollBarVisibility = "Disabled " 嬉しいとにかくコメントしました! – Joe

+0

@ジョー、あなた自身の答えを書くことができますし、あなたのアドバイスが私を助けるので、私は正しい答えとしてそれを行います。 –

+0

確かに、オファーのためにありがとう! – Joe

関連する問題