私はItemsControlを持っていて、私のCustomObjectからいくつかの文字列を表示します。可視性の問題を最小限にするためにコンテナ要素を自動サイズ調整するにはどうすればよいですか?
それは文字列AとBは、複数の線が長くなること
String A
String B
String C
ようなものだが、Cはできません。私はHeight="Auto"
とDockPanelを考えていました。しかし、ストリングAの高さは、そうする必要があります。ストリングBも同様です。
この
は私がこれまでに思い付いたものです:唯一のマージンプロパティは文字列AとBの高さを作っている残念ながら<ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Auto" Background="Black">
<ItemsControl Name="ItemsControl1">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border BorderBrush="#FF126eb1" BorderThickness="1.5" CornerRadius="8,8,8,8" Background="#FF074e84" Width="350" Height="Auto">
<DockPanel Width="350" Margin="0,10,0,0" Height="Auto" Background="Transparent">
<Canvas DockPanel.Dock="Top" Height="Auto" Width="350" Margin="0,10,0,0">
<TextBlock Text="{Binding Headline}" Canvas.Left="5" Canvas.Top="5" Foreground="White" FontSize="15" FontWeight="Bold" MaxWidth="340" TextWrapping="Wrap" Height="Auto"/>
</Canvas>
<Canvas DockPanel.Dock="Top" Height="Auto" Width="350" Margin="0,10,0,0">
<TextBlock Text="{Binding Description}" Canvas.Left="5" Canvas.Top="20" Foreground="White" FontSize="13" MaxWidth="340" TextWrapping="Wrap" Height="Auto" />
</Canvas>
<Canvas DockPanel.Dock="Top" Width="350" Height="40" Margin="0,10,0,0" Background="Transparent">
<TextBlock Text="{Binding DeadlineOn, StringFormat='Deadline: {0}'}" Canvas.Left="5" Canvas.Top="5" Foreground="White"/>
<!-- and other controls -->
</Canvas>
</DockPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
私は、これを行うことができますどのようであれば、それぞれの高さアイテムは不明ですか?
最後の質問と同じ回答です:http://stackoverflow.com/questions/6481109/how-to-draw-items-with-rectangles-and-margin-in-a-vertically-repeating-itemscont/ 6481205#6481205。キャンバスを自動サイズにしたい場合は、キャンバスを使用しないでください。その代わりに 'Grid'を使い子要素に(おそらくは非対称な)' Margin'を置きます。 –
@Rick Sladkey:回答として投稿しますか? –
ええ、ええ、あなたは正しいです。ありがとう。私はちょうどすべてのこれらのコンテナコントロールによって混乱していると思います。今のところ私はCanvasが自動サイズ設定できないことを常に覚えています;) – citronas