标签: textblock

从TextBlock中获取显示的文本

我有一个像这样定义的简单TextBlock

<StackPanel>
    <Border Width="106"
            Height="25"
            Margin="6"
            BorderBrush="Black"
            BorderThickness="1"
            HorizontalAlignment="Left">
        <TextBlock Name="myTextBlock"
                   TextTrimming="CharacterEllipsis"
                   Text="TextBlock: Displayed text"/>
    </Border>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

哪个输出像这样

替代文字

这会让我"TextBlock:显示文字"

string text = myTextBlock.Text;
Run Code Online (Sandbox Code Playgroud)

但有没有办法获得实际显示在屏幕上的文字?
含义"TextBlock:显示......"

谢谢

wpf text textblock texttrimming

23
推荐指数
2
解决办法
1万
查看次数

如何在silverlight textBox中表示换行符或换行符

我很难匹配Silverlight中设置的特殊字符.我只对以下内容:

在Silverlight TextBlock中表示LineBreak:

使用:> lineBreak <

但是我用什么来表示Silverlight TextBox中的新行或LineBreak?

示例:我想要这一行mag:这是第一行.这是第二行

进入这个:

这是第一行.这是第二行.

看起来这个\ r \n不起作用.这是第一行\ r \n

silverlight xaml textblock windows-phone-7

21
推荐指数
3
解决办法
4万
查看次数

WPF - 如何默认数据绑定文本块的可见性?

下面定义的Textblock显示窗口首次加载时,因为它没有Datacontext(因此转换器代码没有运行),直到从另一个控件(例如TreeView)中选择了一个项目.

<TextBlock
   Name="tbkDocumentNotFound" 
   Style="{StaticResource StandardText}"
   Margin="4,4,2,0" 
   TextWrapping="Wrap"                                    
   Visibility="{Binding Path=IsDownloaded, Converter={StaticResource docNotFoundVisibilityConverter}, Mode=TwoWay}"
   Text="The document could not be found.">
</TextBlock>
Run Code Online (Sandbox Code Playgroud)

那么当没有DataContext时如何阻止它出现呢?

谢谢.

wpf visibility default textblock databound

20
推荐指数
1
解决办法
8818
查看次数

如何检测TextBlock的Text属性的更改?

有没有办法使用事件检测TextBlock元素的Text属性的更改?

(我正在尝试提供一个动画来突出显示TextBlocks,其Text属性在DataGrid中发生变化)

wpf textblock

19
推荐指数
3
解决办法
3万
查看次数

C#WPF - ScrollViewer + TextBlock麻烦

我有一个TextBlock内部的ScrollViewer,与拉伸到其窗口对准.我需要TextBlock表现如下:

  • 使用窗口调整大小,不使用滚动条
  • 当调整大小低于某个宽度时, 应该出现TextBlock保持a MinWidth和滚动条的需要
  • TextWrapping或者TextTrimming应该适当地工作

我该如何获得此功能?

我尝试了几种方法,包括绑定到ActualWidth&ActualHeight,但无法使其工作.

这不是那么困难,我错过了什么?

这是一个放在XamlPad中的代码示例(尚未设置MinWidth):

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
            <TextBlock TextWrapping="Wrap" Text="Some really long text that should probably wordwrap when you resize the window." />
    </ScrollViewer>
</Window>
Run Code Online (Sandbox Code Playgroud)

.net c# wpf textblock scrollviewer

19
推荐指数
1
解决办法
2万
查看次数

"可点击"文字块?

我有一个WP7应用程序,我希望有一个"可点击" TextBlock区域,当用户点击它时TextBlock,它将其置于编辑模式(一个不同的控件).这将在编辑文本之前为用户添加另一个显式步骤.

没有点击事件TextBlock(这并不让我感到惊讶).

有没有办法做到这一点?包裹在另一个控件或类似的东西?

.net xaml onclick textblock windows-phone-7

19
推荐指数
4
解决办法
2万
查看次数

每个角色的WPF TextBlock颜色

如何在wpf中获取不同颜色的文本块的每个字符?

wpf colors textblock

19
推荐指数
1
解决办法
3万
查看次数

设置TextBlock以保留开头和结尾的空白区域?

编辑:

下面的代码实际上按我的意思运行 - 这个问题有点误导.请忽略它.


通常当我设置这样的Text属性时TextBlock:

TextBlock tb = new TextBlock();
tb.Text = "     Hello World ";
Run Code Online (Sandbox Code Playgroud)

不显示文本开头和结尾的空格.显示的文字TextBlock只是Hello World.如何设置TextBlock显示它们(即不删除空格)?我错过了一些房产吗?

.net c# wpf textblock

19
推荐指数
3
解决办法
2万
查看次数

是否期望这种慢速WPF TextBlock性能?

我正在做一些基准测试,以确定我是否可以将WPF用于新产品.然而,早期的表现结果令人失望.我做了一个快速的应用程序,它使用数据绑定每100毫秒在列表框内显示一堆随机文本,它占用了大约15%的CPU.所以我创建了另一个跳过数据绑定/数据模板方案的快速应用程序,除了每100毫秒更新一个ListBox内的10个TextBlocks之外什么都不做(实际产品不需要100毫秒更新,更像是500毫秒最大值,但是这是一个压力测试).我仍然看到大约5-10%的CPU使用率.为什么这么高?是因为所有的垃圾串吗?

这是不使用绑定的版本的XAML:

<Grid>
    <ListBox x:Name="numericsListBox">
        <ListBox.Resources>
            <Style TargetType="TextBlock">
                <Setter Property="FontSize" Value="48"/>
                <Setter Property="Width" Value="300"/>
            </Style>
        </ListBox.Resources>

        <TextBlock/>
        <TextBlock/>
        <TextBlock/>
        <TextBlock/>
        <TextBlock/>
        <TextBlock/>
        <TextBlock/>
        <TextBlock/>
        <TextBlock/>
        <TextBlock/>
    </ListBox>
</Grid>
Run Code Online (Sandbox Code Playgroud)

这是背后的代码:

public partial class Window1 : Window
{
    private int _count = 0;

    public Window1()
    {
        InitializeComponent();
    }

    private void OnLoad(object sender, RoutedEventArgs e)
    {
        var t = new DispatcherTimer(TimeSpan.FromSeconds(0.1), DispatcherPriority.Normal, UpdateNumerics, Dispatcher);
        t.Start();
    }

    private void UpdateNumerics(object sender, EventArgs e)
    {
        ++_count;
        foreach (object textBlock in numericsListBox.Items)
        {
            var t = …
Run Code Online (Sandbox Code Playgroud)

c# wpf performance textblock

18
推荐指数
1
解决办法
9226
查看次数

只读文本块

目前我有一个文本块放在滚动查看器控件中.如何使文本块只读?

wpf textblock

18
推荐指数
1
解决办法
2万
查看次数