读书人

自定义控件属性值有关问题

发布时间: 2012-12-14 10:33:07 作者: rapoo

自定义控件属性值问题
我定义了一个控件


<Style TargetType="eagle:RichContent">
<Setter Property="Height" Value="140"/>
<Setter Property="Foreground" Value="#FFFFFFFF"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="eagle:RichContent">
<StackPanel x:Name="StoryListPanel">
<TextBlock HorizontalAlignment="Stretch" Margin="5" Text="{TemplateBinding Title}" TextAlignment="Left" Name="TitlePanel" VerticalAlignment="Center" FontSize="26" Foreground="{TemplateBinding TitleForeground}" TextWrapping="NoWrap" />
<StackPanel Orientation="Horizontal">
<Image Height="Auto" HorizontalAlignment="Left" Source="{TemplateBinding ThumbnailImage}" Margin="5,5,0,5" Name="ThumbnailImagePanel" Stretch="None" VerticalAlignment="Center" Width="Auto"/>
<TextBlock Width="{TemplateBinding AbstractWidth}" HorizontalAlignment="Left" Padding="5" Text="{TemplateBinding Content}" TextAlignment="Left" Name="ContentPanel" VerticalAlignment="Top" FontSize="22" Foreground="{TemplateBinding AbstractForeground}" TextWrapping="Wrap" />
</StackPanel>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>


主要是这一段

<TextBlock Width="{TemplateBinding AbstractWidth}" HorizontalAlignment="Left" Padding="5" Text="{TemplateBinding Content}" TextAlignment="Left" Name="ContentPanel" VerticalAlignment="Top" FontSize="22" Foreground="{TemplateBinding AbstractForeground}" TextWrapping="Wrap" />


这个textblock 的AbstractWidth在调用控件传入宽度时,始终不起作用,一定要是固定的值,比如400才起作用,这时textblock才会换行,不知道怎么回事?
请大家帮帮忙
[解决办法]
换行的话,应该是TextWrapping="Wrap"起作用吧~~~你把width属性去掉试试
[解决办法]
引用:
换行的话,应该是TextWrapping="Wrap"起作用吧~~~你把width属性去掉试试



去掉width不行的,去掉以后,不能换行
[解决办法]
你不指定宽度,他怎么知道什么时候该换行呢?
[解决办法]
引用:
你不指定宽度,他怎么知道什么时候该换行呢?

对,要指定一行多长。
[解决办法]
引用:
引用:

你不指定宽度,他怎么知道什么时候该换行呢?

对,要指定一行多长。


感谢兄弟们的回复,但是帖子的问题是,width在哪里指定的问题
并非直接去掉width
[解决办法]
试试把Stackpanel去掉换成Grid来试试。

读书人网 >Windows Mobile

热点推荐