我试图找出如何做一些类似Twitter的Silverlight应用程序,斯科特Guthrie的WPF中最近演示了一句:http://weblogs.asp.net/scottgu/archive/2010/03/18/building-a-windows-phone-7-twitter-application-using-silverlight.aspxTextBlock的包装
不幸的是,我似乎有一个很难理解的wpf布局系统在一些根本的方式。我一直在尝试层次结构中不同级别的horizontalalignment/stretch,width/auto的各种组合,并且我似乎无法获得“message”文本块,而无需分配明确的宽度。
我只想让文字根据窗口宽度(或任何父容器)进行换行。
<Window x:Class="TweeterWin.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
<ScrollViewer Height="auto" >
<ListBox Name="tweetList"
Height="auto"
>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Height="132">
<Image Source="{Binding Avatar}" Height="73" Width="73" VerticalAlignment="Top" Margin="0,10,8,0"/>
<StackPanel >
<TextBlock Text="{Binding User}" TextWrapping="Wrap" Foreground="#FFC8AB14" FontSize="15" />
<TextBlock Text="{Binding Message}" TextWrapping="Wrap" FontSize="10" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
</Window>
作为后续,如果任何人都可以发送任何链接我的方式,可能会帮助我了解一些这些布局基础知识。我想我理解主要的布局选项(画布,网格,堆栈面板等),但我不明白为什么我不能在这种情况下得到这个文本块。
谢谢!