我有一个像这样定义的简单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:显示......"
谢谢
我很难匹配Silverlight中设置的特殊字符.我只对以下内容:
在Silverlight TextBlock中表示LineBreak:
使用:> lineBreak <
但是我用什么来表示Silverlight TextBox中的新行或LineBreak?
示例:我想要这一行mag:这是第一行.这是第二行
进入这个:
这是第一行.这是第二行.
看起来这个\ r \n不起作用.这是第一行\ r \n
下面定义的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时如何阻止它出现呢?
谢谢.
有没有办法使用事件检测TextBlock元素的Text属性的更改?
(我正在尝试提供一个动画来突出显示TextBlocks,其Text属性在DataGrid中发生变化)
我有一个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) 我有一个WP7应用程序,我希望有一个"可点击" TextBlock
区域,当用户点击它时TextBlock
,它将其置于编辑模式(一个不同的控件).这将在编辑文本之前为用户添加另一个显式步骤.
没有点击事件TextBlock
(这并不让我感到惊讶).
有没有办法做到这一点?包裹在另一个控件或类似的东西?
下面的代码实际上按我的意思运行 - 这个问题有点误导.请忽略它.
通常当我设置这样的Text
属性时TextBlock
:
TextBlock tb = new TextBlock();
tb.Text = " Hello World ";
Run Code Online (Sandbox Code Playgroud)
不显示文本开头和结尾的空格.显示的文字TextBlock
只是Hello World
.如何设置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) textblock ×10
wpf ×8
.net ×3
c# ×3
xaml ×2
colors ×1
databound ×1
default ×1
onclick ×1
performance ×1
scrollviewer ×1
silverlight ×1
text ×1
texttrimming ×1
visibility ×1