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 的新值。但请记住,这不是推荐的做法,了解绑定会对您将来有所帮助!