gpt4 book ai didi

visual-studio-2010 - 阻止混合向应用程序添加 startupURI?

转载 作者:行者123 更新时间:2023-12-05 01:36:50 24 4
gpt4 key购买 nike

是否有一些已知的技巧可以告诉 blend 停止尝试在我的 app.xaml 中设置 startupURI?我用谷歌搜索但没有看到任何东西,所以我想我会在这里问。

我使用启动例程并自己实例化主窗口。 Blend 时不时地喜欢在我让它编译时加入 startupURI="MainWindow.xaml"。偶尔我会看到一些消息“没有与此项目关联的启动场景。你想要混合来修复它吗?”或类似的规定。我单击取消/否,但它仍然在我的代码中抛出一个 gremlin。混合内部有一些检查此属性的机制,否则它不会通过对话框向我提示。那么我该如何告诉它“不,谢谢 blend,没有它我也很好?”,哈哈。

这很烦人。我打开混合来做一些简单的事情,比如使用颜色选择器并用它来编译,因为 VS2010 没有打开。我的结果是两个主窗口。但它并不是每次都这样做,所以它不是可重复的行为。编译器只是随机执行。

编辑:我正在使用 blend 4,但我在使用 blend 3 时也看到了这种情况。

最佳答案

这是一个可怕的黑客攻击,但是,嘿,它有效。默认情况下,StartupUri 为 null,但您不能使用该属性将其设置为 null,因此如果您喜欢生活在边缘,您可以绕过该属性。

// Dangit blend! Stop inserting a stupid StartupUri    
private void FixStartupUri()
{
var type = typeof(Application);
var startupUri = type.GetField("_startupUri", BindingFlags.Public
| BindingFlags.NonPublic
| BindingFlags.Instance);
startupUri.SetValue(this, null);
}

将其添加到您的应用程序类中并像这样调用它:

protected override void OnStartup(StartupEventArgs e)
{
FixStartupUri();
base.OnStartup(e);
// Do the rest of your startup stuff.
}

关于visual-studio-2010 - 阻止混合向应用程序添加 startupURI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3779761/

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