Windows phone 7 Windows Phone:文本块中的文本未完全显示
问题解决了! 不管怎样,我刚刚解决了问题。我对这些值执行了.Trim(),令人惊讶的是,它们可以被包装。谢谢你,很抱歉给你添了这么多麻烦强> 我正在网格中对文本块进行数据绑定 然而,一些文本没有充分展示。 我尝试了文本换行并设置了文本块的最大宽度。但没有一个成功 编辑:又来了。我注意到,当我通过类似Windows phone 7 Windows Phone:文本块中的文本未完全显示,windows-phone-7,xaml,textblock,Windows Phone 7,Xaml,Textblock,问题解决了! 不管怎样,我刚刚解决了问题。我对这些值执行了.Trim(),令人惊讶的是,它们可以被包装。谢谢你,很抱歉给你添了这么多麻烦 我正在网格中对文本块进行数据绑定 然而,一些文本没有充分展示。 我尝试了文本换行并设置了文本块的最大宽度。但没有一个成功 编辑:又来了。我注意到,当我通过类似 txtDesc.Text = "This is a job for Stackers. If you like stacking, please contact me. 文本换行实际上是有效的。
txtDesc.Text = "This is a job for Stackers. If you like stacking, please contact me.
文本换行实际上是有效的。因此,数据绑定结果文本无法换行?
我的文本块的XAML代码
<TextBlock Name="Description" Grid.Row="4" Text="{Binding Description}" FontSize=" {StaticResource PhoneFontSizeSmall}" Height="auto" Width="220" Margin="0,0,0,0" TextWrapping="Wrap" HorizontalAlignment="Left" VerticalAlignment="Top" MaxWidth="220"></TextBlock>
有人帮忙吗
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot">
<Grid.Background>
<ImageBrush Stretch="Fill" ImageSource="images/SmallLogoNTitle.png"/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock x:Name="PageTitle" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel - place additional content here-->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<toolkit:ListPicker ItemsSource="{Binding}" Name="lpkTypeOfService" Margin="0,116,12,0" Height="65" VerticalAlignment="Top" HorizontalAlignment="Right" Width="210" SelectionChanged="lpkTypeOfService_SelectionChanged">
</toolkit:ListPicker>
<ListBox Margin="8,210,8,26" Name="listBox1" Width="450">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<TextBlock HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" Name="Date" Text="{Binding Date}" FontSize="{StaticResource PhoneFontSizeLarge}"></TextBlock>
<TextBlock HorizontalAlignment= "Left" Grid.Row="1" Grid.Column="0" Name="Creator" Text="{Binding CreatorID}" FontSize="{StaticResource PhoneFontSizeLarge}"></TextBlock>
<TextBlock Name="Type" Grid.Row="2" Text="{Binding Type}" FontSize="{StaticResource PhoneFontSizeSmall}"></TextBlock>
<TextBlock Name="Amount" Grid.Row="3" Text="{Binding Amount}" FontSize="{StaticResource PhoneFontSizeSmall}"></TextBlock>
<TextBlock Name="Description" Grid.Row="4" Text="{Binding Description}" FontSize="{StaticResource PhoneFontSizeSmall}" Height="auto" Width="220" Margin="0,0,0,0" TextWrapping="Wrap" HorizontalAlignment="Left" VerticalAlignment="Top" MaxWidth="220"></TextBlock>
<Button Content="Apply" Height="70" Width="140" Name="btn1" Click="btn_Click" Grid.Row="5" Grid.Column="1"></Button>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Height="65" HorizontalAlignment="Left" Margin="12,116,0,0" Name="textBlock1" Text="Find Service :" VerticalAlignment="Top" Width="216" FontSize="36" />
</Grid>
</Grid>
能否在listbox控件中禁用水平滚动
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
可以在listbox控件中禁用水平滚动吗
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
使用
VerticalAlignment=“Stretch”
代替VerticalAlignment=“Top”
。这样,文本块将延伸到行的高度。使用VerticalAlignment=“stretch”
而不是VerticalAlignment=“Top”
。通过这种方式,文本块将延伸到行的高度。它源于糟糕/过于复杂的布局架构以及对象彼此定位的方式。对于您的DataTemplate
<DataTemplate>
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<!-- Don't worry, you already had your 450 Width set on the parent -->
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Name="Date" Text="{Binding Date}" FontSize="{StaticResource PhoneFontSizeLarge}"/>
<TextBlock Name="Creator" Grid.Row="1" Text="{Binding CreatorID}" FontSize="{StaticResource PhoneFontSizeLarge}"/>
<TextBlock Name="Type" Grid.Row="2" Text="{Binding Type}" FontSize="{StaticResource PhoneFontSizeSmall}"/>
<TextBlock Name="Amount" Grid.Row="3" Text="{Binding Amount}" FontSize="{StaticResource PhoneFontSizeSmall}"/>
<TextBlock Name="Description" Grid.Row="4" Text="{Binding Description}" FontSize="{StaticResource PhoneFontSizeSmall}" TextWrapping="Wrap"/>
<Button Name="btn1" Click="btn_Click" Grid.Row="5" Grid.Column="1" Content="Apply" Height="70" Width="140" Margin="5,0"/>
</Grid>
</DataTemplate>
同样为了更简洁的xaml,请记住像Margin=“0”
,Grid.Column=“0”
,HorizontalAlignment=“Left”
等都是默认的依赖属性,因此无需为每个对象设置它们。即使在需要的情况下,也可以将它们作为Setter
s应用于父对象中的TargetType
。参考资料
,并避免将它们设置为每个单独的对象。另一个技巧是,不要依赖一堆模糊的随机边距等来创建布局。最好第一次就做对,而不是在一堆相互依赖的小“修复”之间寻找差异
我没有测试它,但应该可以正常工作,除非你有别的东西在推动东西。希望这能有所帮助。这是因为布局结构太差/太复杂以及对象之间的相互定位方式。对于您的
DataTemplate
<DataTemplate>
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="50"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<!-- Don't worry, you already had your 450 Width set on the parent -->
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Name="Date" Text="{Binding Date}" FontSize="{StaticResource PhoneFontSizeLarge}"/>
<TextBlock Name="Creator" Grid.Row="1" Text="{Binding CreatorID}" FontSize="{StaticResource PhoneFontSizeLarge}"/>
<TextBlock Name="Type" Grid.Row="2" Text="{Binding Type}" FontSize="{StaticResource PhoneFontSizeSmall}"/>
<TextBlock Name="Amount" Grid.Row="3" Text="{Binding Amount}" FontSize="{StaticResource PhoneFontSizeSmall}"/>
<TextBlock Name="Description" Grid.Row="4" Text="{Binding Description}" FontSize="{StaticResource PhoneFontSizeSmall}" TextWrapping="Wrap"/>
<Button Name="btn1" Click="btn_Click" Grid.Row="5" Grid.Column="1" Content="Apply" Height="70" Width="140" Margin="5,0"/>
</Grid>
</DataTemplate>
同样为了更简洁的xaml,请记住像Margin=“0”
,Grid.Column=“0”
,HorizontalAlignment=“Left”
等都是默认的依赖属性,因此无需为每个对象设置它们。即使在需要的情况下,也可以将它们作为Setter
s应用于父对象中的TargetType
。参考资料
,并避免将它们设置为每个单独的对象。另一个技巧是,不要依赖一堆模糊的随机边距等来创建布局。最好第一次就做对,而不是在一堆相互依赖的小“修复”之间寻找差异
我没有测试它,但应该可以正常工作,除非你有别的东西在推动东西。希望这有帮助。您能尝试删除Height=“auto”和MaxWidth吗?您好。我删除了Height=“auto”和MaxWidth。它仍然不起作用=(我写了一个解决这种情况的答案:你能试着删除Height=“auto”和MaxWidth吗?你好。我删除了Height=“auto”和MaxWidth。它仍然不起作用。=(我写了一个解决这种情况的答案:这是你的意思吗?我这么做了,但它不起作用。)=[如果你用Hi替换这个,我改为VerticalAlignment=“Stretch”但它仍然不起作用。你能把它添加到你的列表框中吗?我把它放在哪里?我能把我的源代码发电子邮件给你吗?我怎么发邮件给你?把它放在Hi之后。我这样做了。但它仍然不起作用。还有其他解决方案吗?=(嗨,我改为VerticalAlignment=“Stretch”但它仍然不起作用。你能把它添加到你的列表框中吗?我把它放在哪里?我能把我的源代码通过电子邮件发送给你吗?我如何pm你?把它放在Hi之后。我做到了。但它仍然不起作用。还有其他解决方案吗=(您好。我刚刚尝试了您的代码。它不起作用。请看我上面用粗体显示的更新注释。我相信由于某种原因,数据索引文本无法进行文本包装。我是否需要