2012-03-28 13 views
2

2つの単純な列、レポート番号と簡単な説明があるグリッドビューがあります。この簡単な説明では、復帰することが一般的です。その場合、行の高さをすべてのテキストに合わせて拡大したいと考えています。キャリッジリターンを含むWPF GridViewにテキストを表示する方法

現在、フィールドは最初の行が表示されている可能性がありますが、その下のテキストは切り捨てられます。必要に応じて高さを調整して、すべてのテキストをどのように表示できますか?

これは行の単位で行うことができます。次のレポートに改行の説明がない場合は、1行に表示されます。

むしろsimilar to this questionだろうが、ASP.net

対WPFでこれもテーマアプリケーションの幅広い使用に起因することがあります。その場合、このグリッドビューでのみどのように強制できますか?

XAML:

はもともと、私はそれだけで

<GridViewColumn Width="365" Header="Desc" DisplayMemberBinding="{Binding desc}" /> 

として、私はまた、我々は非常によく高く設定することができるよう、アプリケーションの広いテーマを使用している

<GridViewColumn x:Name="colDesc" Header="Desc" Width="75" > 
    <GridViewColumn.CellTemplate> 
      <DataTemplate> 
       <TextBlock Text="{Binding Desc}" /> 
      </DataTemplate> 
    </GridViewColumn.CellTemplate> 
</GridViewColumn> 

を試してみました明示的に。もしそうなら、私は主に、このテーマがこの仕組みのデフォルト値を無効にしているという事実(コメントから)に傾いています。もしそうなら、私はどのようにしてそれが想定されているように行動するのですか(また、コメントから、これはデフォルトの動作であると思われます)。

enter image description here

ここでは、テキストの方が大きいようなので、再び、私はセルが必要と絶頂に調整したいと思うになります。第二の例を使用して

、ここではそれがどのように見えるかです。これらの中には複数の行がありますので、残りの内容は表示されません。私はまた、テキストブロックの高さを設定しようとしましたが、それは効果がありませんでした。

+2

あなたのxamlを投稿してください。 – cadrell0

+0

これを試しました。 DataGridTextColumnは、垂直方向に自動的にサイズ調整されます。 – Phil

+0

ラッピングを有効にしたTextBoxを使用していますか? – Paparazzi

答えて

3

これは機能しました。

public string TextBlockText { get { return "one line \r\ntwo line"; } } 

<TextBlock Height="Auto" Width="100" HorizontalAlignment="Left" Text="{Binding Path=TextBlockText}" /> 

TextBlockをListViewに配置する方法については、私に任せます。

+0

質問は、これをどのようにしてグリッドビューに組み込むべきかに直接関係しています。私はすでにコードでこれを持っていますが、これを答えとして受け入れるには、それをTextBlockに配置することはできません – jmlumpkin

+0

いくつかの努力を示してください。あなたはコードを投稿していません。 – Paparazzi

+0

私は今すぐコードにアクセスすることはできません。なぜなら、それはまだありません。努力?私のコメントが無礼や過酷であると申し訳ありませんが、私は実際にテキストブロックがグリッド内で心配しているところにどこでも行けると述べていました。これはプログラミングクラスではなく、これは明らかに私のために働いていなかったので、単に質問していました。 – jmlumpkin

関連する問題