【问题标题】:Refactoring in WPF w/Blend 4 + Visual Studio 2010WPF w/Blend 4 + Visual Studio 2010 中的重构
【发布时间】:2011-05-29 15:45:46
【问题描述】:

我一直在尝试在 Visual Studio 2010 (Express) 和 Blend 4 中进行重构,我发现它有点挑剔,但我想确保我做得对,所以...问题:

1) 重构(重命名用户控件,包括 xaml 和 cs 文件名)的最佳方法似乎是在 cs 文件中的 Visual Studio 中进行。对吗?

1a) 在 Blend 中重命名控件最简单的方法是什么? (我经常这样做。)

2) 在我习惯使用的 Java 工具中,重命名总是意味着重构(不仅会自动更改类名,还会自动更改文件名)。但是在Blend/VS中,似乎两者有区别?

3) 是否有用于重命名控件而不是重构的用途,或者只是为资源而不是 xaml/cs 文件重命名?

4) 为什么重构类名不改变文件名以自动匹配?

【问题讨论】:

  • 注意:我已经尝试从解决方案资源管理器中重命名,但它根本不会更改源。这可能只是 Visual C# Express 的问题?

标签: .net wpf visual-studio refactoring expression-blend


【解决方案1】:

1,2) 在 Visual Studio 中,如果您从解决方案资源管理器更改名称,系统会询问您是否还想更改类名。这将自动重构您的代码。从代码中更改名称(快捷键 F2)只会重构您的代码,而不会更改相应的文件名。

3) 重命名控件(也是一个类)只是重构。

4) 一方面,一个文件可以包含多个类。

--编辑--

嗯...似乎从 VS 2010 Professional 中的解决方案资源管理器重命名 WPF 控件也不会提示重构代码或标记。不过,这似乎只是 XAML 文件的问题;即使使用快速版本,解决方案资源管理器中的类的重命名重构也应该有效。

顺便说一句,我在MSDN 上找到了一篇关于使用 VS 进行重命名重构的好文章。

【讨论】:

  • #4——啊!与 Java 很大的不同,文件名必须与类名匹配(内部类除外)。
  • #1/2 问题 - 这是 Express 中禁用的专业功能吗?我尝试从解决方案资源管理器重命名,但它从不提示任何内容,并且类名肯定是相同的。这就是我认为它应该起作用的方式,但到目前为止还不好。
  • @Crusader,我刚刚确认从 VS 2010 Professional 中的解决方案资源管理器重命名 WPF 控件也不会更改您的代码,也不会更改标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
  • 1970-01-01
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
相关资源
最近更新 更多