gpt4 book ai didi

wpf - 如何将绑定(bind)错误转化为运行时异常?

转载 作者:太空狗 更新时间:2023-10-29 23:50:10 26 4
gpt4 key购买 nike

正如在我们的项目中设置了“将警告视为错误”以尽早发现可能的问题一样,我希望有一个运行时异常来及早发现它们。

我最近被这个问题困扰了,如果有这个我会很高兴。

可以吗?如果是,怎么做?

最佳答案

你可以 Hook PresentationTraceSources与您自己的听众合集:

public class BindingErrorListener : TraceListener
{
private Action<string> logAction;
public static void Listen(Action<string> logAction)
{
PresentationTraceSources.DataBindingSource.Listeners
.Add(new BindingErrorListener() { logAction = logAction });
}
public override void Write(string message) { }
public override void WriteLine(string message)
{
logAction(message);
}
}

然后将其连接到代码隐藏

public partial class MainWindow : Window
{
public MainWindow()
{
BindingErrorListener.Listen(m => MessageBox.Show(m));
InitializeComponent();
DataContext = new string[] { "hello" };
}
}

这是绑定(bind)错误的 XAML

    <Grid>
<TextBlock Text="{Binding BadBinding}" />
</Grid>

关于wpf - 如何将绑定(bind)错误转化为运行时异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34361129/

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