WPF:如何在 TextBlock 中使用整数(来自 C#-Code)?
WPF: How to use an integer (from C#-Code) inside a TextBlock?
所以基本上我有一个整数 textlength,它有很多符号。然后我想将符号数输出到 TextBlock/Label 上,以便用户可以看到他使用了多少符号。有没有一种没有“绑定”的方法来实现这个?绑定我确实不太懂,但是如果有必要用,那也是可以的!!
这是我的简单代码:
C#:
...
var textlength = text.Length;
...
XAML:
<TextBlock x:Name="MyTextBlock" Width="30" Height="28" Text=" . . . " />
我希望 TextBlock 像普通控制台一样运行 --> 输出文本长度的值,方法是:“符号数:...”
非常感谢您!
最简单的方法是实现您自己的 DependencyProperty
。我已经有几年没有接触 WPF 了,但如果我没记错的话,它应该是这样的:
public static readonly DependencyProperty TextLengthProperty = DependencyProperty.Register(
"TextLength", typeof(int),
typeof(YourControlType)
);
public int TextLength
{
get => (int)GetValue(TextLengthProperty );
set => SetValue(TextLengthProperty , value);
}
绑定看起来像这样:
<TextBlock Text={Binding Path=TextLength, ElementName=nameOfParentControl}/>
然后直接更新TextLength
属性,TextBlock会自动更新
我没有测试过这段代码,但它应该能让您大致了解需要做什么。此外,here's 有关数据绑定和自定义依赖属性的文档。
如果您真的想避免数据绑定,您可以在事件中手动更新 TextBlock 的内容以反映 text.Length
的新值。但请记住,这不是推荐的做法,了解绑定会对您将来有所帮助!
所以基本上我有一个整数 textlength,它有很多符号。然后我想将符号数输出到 TextBlock/Label 上,以便用户可以看到他使用了多少符号。有没有一种没有“绑定”的方法来实现这个?绑定我确实不太懂,但是如果有必要用,那也是可以的!! 这是我的简单代码: C#:
...
var textlength = text.Length;
...
XAML:
<TextBlock x:Name="MyTextBlock" Width="30" Height="28" Text=" . . . " />
我希望 TextBlock 像普通控制台一样运行 --> 输出文本长度的值,方法是:“符号数:...”
非常感谢您!
最简单的方法是实现您自己的 DependencyProperty
。我已经有几年没有接触 WPF 了,但如果我没记错的话,它应该是这样的:
public static readonly DependencyProperty TextLengthProperty = DependencyProperty.Register(
"TextLength", typeof(int),
typeof(YourControlType)
);
public int TextLength
{
get => (int)GetValue(TextLengthProperty );
set => SetValue(TextLengthProperty , value);
}
绑定看起来像这样:
<TextBlock Text={Binding Path=TextLength, ElementName=nameOfParentControl}/>
然后直接更新TextLength
属性,TextBlock会自动更新
我没有测试过这段代码,但它应该能让您大致了解需要做什么。此外,here's 有关数据绑定和自定义依赖属性的文档。
如果您真的想避免数据绑定,您可以在事件中手动更新 TextBlock 的内容以反映 text.Length
的新值。但请记住,这不是推荐的做法,了解绑定会对您将来有所帮助!