gpt4 book ai didi

c# - .FormatString 属性对绑定(bind)没有影响

转载 作者:行者123 更新时间:2023-11-30 15:56:12 26 4
gpt4 key购买 nike

我的代码中有这一行

UserLoginLabel.DataBindings.Add(new Binding("Text", Foo, "bar.Username"));

在文本框中正确显示用户名(并且仅显示用户名)。这段代码怎么来的

Binding b = new Binding("Text", Foo, "bar.Username")
{
FormatString = "Logged in as {0}.",
FormattingEnabled = true
};
UserLoginLabel.DataBindings.Add(b);

有完全一样的效果吗?这不是格式化数据绑定(bind)的方法吗?

最佳答案

为此您需要使用 Format 事件:

var b = new Binding("Text", Foo, "bar.Username");
b.FormattingEnabled = true;
b.Format += b_Format;
UserLoginLabel.DataBindings.Add(b);

private void b_Format(Object sender, ConvertEventArgs e)
{
if (e.DesiredType == typeof(String)) //optional, you decide
e.Value = $"Logged in as {e.Value}.";
}

您必须注意的是,每次值被格式化时都会被调用。发生这种情况的原因有多种,因此您可以获得已经格式化的 e.Value

关于c# - .FormatString 属性对绑定(bind)没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47293209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com