我想包包含在三個TextBlock
s的文字一個StackPanel
內沒有對每個TextBlock
寫TextWrapping="Wrap"
(有時可能會有更多的那些):文字環繞
<ListBox ItemsSource="{Binding Places}" SelectedItem="{Binding SelectedPlace, Mode=TwoWay}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Name, Mode=OneWay}" TextWrapping="Wrap" />
<TextBlock Text="{Binding Path=Distance, Mode=OneWay}" TextWrapping="Wrap" />
<TextBlock Text="{Binding Path=Description, Mode=OneWay}" TextWrapping="Wrap" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
所以,如果我動態添加另一個TextBlock
它應該自動換行(我不想在我的代碼隱藏文件中執行)
換句話說 - 我想編寫將自動應用的樣式。在CSS這將是類似的東西:
listbox textblock {
word-wrap:break-word;
}
UPDATE
這包含我的列表框:
<Grid Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Grid.Column="0" Margin="12,0,12,0">
<views:ListItem Margin="12,6,0,0" />
</Grid>
</Grid>
您是否將文本框動態添加到項目模板?例如。不只是添加一個項目到列表框? – Charleh
在項目的這個階段 - 沒有。 –
我正在動態添加'ListBoxItem's,但每個內部總是有三個'TextBlock's。實際上這並不重要 - 現在我只想定義一種適用於我的ListBox中每個「TextBlock」的樣式 –