1

我正在开发非常复杂的 WPF 应用程序,它有很多资源文件,因此 XAML 在设计时不会加载。我想在运行时查找 XAML 文件的名称。我正在尝试使用 snoop 但无法找到 XAML 文件的名称。请帮忙

4

3 回答 3

1

使用 Snoop 不会为您提供文件名,但您应该能够通过查看您要到达的位置附近的可视树视图来定位某些类型名称(即 UserControls、自定义控件等)或带有 x:Names 的元素使用 Ctrl-Shift 鼠标悬停快捷方式后。搜索类型的使用(在控件的情况下)或在所有解决方案 *.xaml 文件上使用“在文件中查找”应该可以帮助您找到要查找的元素。

于 2013-02-05T17:17:45.330 回答
1

通常我会从较高级别的 UI(例如 MainWindow)开始,然后在纸上绘制我在那里找到的组件,尤其是网格。

然后我试图找出我的应用程序的元素在那个视图中的位置。

如果您有多个视图,这可能会有些耗时。但是,如果您不能只单击设计器窗口,这是最快的方法之一。

好的,如果您只有较小的更改,您可以尝试使用字符串搜索找到要更改的元素。

找到你想要的标签,如果是资源字符串,找到它的用法。

如果您有一个复杂的 MVVM 应用程序,您可以从调查使用的 ViewModel 开始。它们可能是比视图本身更好的起点。

-edit- WPF Inspector 可以为您提供有关搜索位置的良好提示。你可以在这里得到它:WPF Inspector home

于 2013-02-05T16:28:42.573 回答
0

如果您正在为自己的需要寻找它,您可以在任何视觉对象上调用 BaseUriHelper.GetBaseUri(v),它会为您提供视觉对象所来自的资源的 Uri。从此 Uri 您可以获取原始 xaml 文件

于 2017-04-07T16:04:07.827 回答