我需要显示一个字符串,每个x像素显示一个字符.(x是整个字符串).
例如:"你好" - >位置(像素)0处的H,位置50处的e,100处的l,150处的1,以及200处的o.
当然我可以为每个角色使用TextBlock,但它似乎有点过分.
TranslateTransform似乎没有做到这一点:它相对于前一个角色的END偏移我的角色,这不是我想要的.
TIA的帮助.
我的主窗口上有一个TextBlock.我想将它的文本绑定到窗口的标题上..例如:myWindow.Title.
这一直困扰着我,我已经用Google搜索过去了,任何帮助都表示赞赏.
谢谢.
我有一个ListBox,其ItemsSource绑定到一个对象列表.Listbox有一个ItemTemplate,其中包含一个包含TextBlock的DataTemplate.文本块的Text绑定到对象的Name属性(即Text ="{Binding Name}").
我想提供一个单选按钮来显示同一列表的不同视图.例如,允许用户在Name属性和ID属性之间切换.
我在2381740找到了一个SO答案,但我也在数据模板中设置了边框和文本框样式(参见下面的代码).
反正只是重置Textblock绑定?我不想重新创建整个datatemplate.实际上我甚至不确定如何做到这一点,是否有一种简单的方法将xaml转换为代码?
谢谢科迪
<DataTemplate>
<Border Margin="0 0 2 2"
BorderBrush="Black"
BorderThickness="3"
CornerRadius="4"
Padding="3">
<TextBlock Style="{StaticResource listBoxItemStyle}"
Text="{Binding Name}" />
</Border>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud) 我的目标是创建一个具有新依赖项属性SearchText的自定义TextBlock控件.此属性将包含正则表达式.将使用自定义样式(另一个DP)突出显示TextBlock文本中所有出现的此正则表达式.
我当前的实现涉及清除TextBlock的InlineCollection中的所有Inline对象.然后我使用未突出显示的文本运行TextBlock并运行应用了样式的突出显示文本(此方法不支持直接向TextBlock添加内联,而是必须使用TextBlock.TextProperty).
工作得很好,但有时我在尝试清除Inlines时遇到一个奇怪的异常:InvalidOperationException:"此时无法修改此节点的逻辑子节点,因为正在进行树步行."
这个问题似乎是与此一个.我正在修改TextChanged函数中的内联,但我使用一个标志来避免无限递归编辑.
有关如何构建此自定义控件的任何想法?有一个更好的方法吗?我该如何解决这个异常?
谢谢!
wpf textblock custom-controls invalidoperationexception inlines
我有一个问题.我有一个文本块,我的文字被裁剪了.它似乎只出现在文本太长导致文本较短时才出现,没有问题.
所以有我的代码:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Grid.RowDefinitions>
<RowDefinition Height="150" />
<RowDefinition Height="447*" />
</Grid.RowDefinitions>
<Image Grid.Row="0" Source="{Binding TheContent.PathPicture}" />
<ScrollViewer Grid.Row="1">
<Grid>
<TextBlock Text="{Binding TheContent.Text}" TextWrapping="Wrap" FontSize="24" />
</Grid>
</ScrollViewer>
</Grid>
Run Code Online (Sandbox Code Playgroud)
文字正如这样裁剪:
是汇总我内容的唯一解决方案吗?
在显示甚至少量数据时,我一直遇到WPF DataGrid和列表框GridView性能问题.我虽然这个问题只是WPF一般表现不佳,但问题似乎只在于文本块控件.
我创建了一个示例面板,我添加了几个项目.如果我添加简单填充的矩形,调整大小/滚动性能是完美的,但是一旦我使用了文本块,性能就会消失.
看起来性能问题来自于:
child.Measure(constraint);
Run Code Online (Sandbox Code Playgroud)
当测量文本块时,它会使性能停止.有什么我可以覆盖文本块的测量或某些东西来提高性能吗?(我会明确设置孩子的大小)
编辑:我现在已经创建了简化的代码来安排我想要的项目.
此代码的性能很好,除了...当文本块内的文本宽度超过文本块的实际宽度时.这使我的表现回归到爬行 - 可能是因为它试图再次测量元素?
public class TestPanel : Panel
{
private int _rowHeight = 20;
private int _columnWidth = 50;
public TestPanel()
{
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 20; j++)
{
TextBlock cell = new TextBlock();
cell.ClipToBounds = true;
cell.Width = _columnWidth;
cell.Height = _rowHeight;
cell.Text = i.ToString() + ":" + j.ToString();
this.Children.Add(cell);
}
}
}
protected override Size MeasureOverride(Size constraint) …
Run Code Online (Sandbox Code Playgroud) 我是Windows Phone 7的全新开发人员.我TextBlock Text="{Binding MyDate}
在MainPage.xaml页面上.
如何从MainPage.xaml.cs更改此TextBlock的颜色?
我想让我的TextBlock
可滚动,但我不能让它工作.也许问题在于StackPanel
?
所以这是代码:
<Grid Margin="3">
<Grid.RowDefinitions>
<RowDefinition Height="152*" />
<RowDefinition Height="86*" />
<RowDefinition Height="67*" />
</Grid.RowDefinitions>
<ListBox x:Name="lstItems" Margin="3,6,3,0" ItemsSource="{Binding Source={StaticResource rssData}}"
SelectedIndex="0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="20" Margin="3" Source="{Binding XPath=enclosure/@url}" />
<TextBlock Margin="3" VerticalAlignment="Center" Text="{Binding XPath=title}" FontWeight="Bold" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Row="1" Orientation="Vertical" DataContext="{Binding ElementName=lstItems, Path=SelectedItem}" Grid.RowSpan="2">
<StackPanel.ScrollOwner>
<ScrollViewer />
</StackPanel.ScrollOwner>
<TextBlock Margin="3" FontSize="13" FontWeight="Bold" Text="{Binding XPath=title, Path=InnerText}" />
<TextBlock Margin="3" Opacity="0.72" Text="{Binding XPath=pubDate}" />
<ScrollViewer>
<TextBlock ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" Margin="3" FontStyle="Italic" Text="{Binding …
Run Code Online (Sandbox Code Playgroud) 是否有可能结合Text
并StringFormat
吗?
<TextBlock Text="{Binding Path=Price, StringFormat={Binding Path=DecimalPoints}}" />
Run Code Online (Sandbox Code Playgroud)
DecimalPoints不断变化F0
为F15
.不幸的是,上面的代码无法编译.
textblock ×10
wpf ×8
binding ×3
xaml ×2
c# ×1
datatemplate ×1
inlines ×1
panel ×1
performance ×1
silverlight ×1
title ×1
vb.net ×1