我有一个带有 ViewModel 类作为 DataContext 的 UserControl:
XAML
<UserControl ... >
<TextBox Text="{Binding ViewModelProperty}"/>
</UserControl>
代码隐藏:
namespace DotfuscatorTest.UserControl.View
{
using ViewModel;
public partial class UserControlView
{
public UserControlView()
{
InitializeComponent();
DataContext = new UserControlViewModel();
}
}
}
视图模型类:
namespace DotfuscatorTest.UserControl.ViewModel
{
internal class UserControlViewModel
{
private string viewModelProperty = "hello world";
public string ViewModelProperty
{
get { return viewModelProperty; }
set { viewModelProperty = value; }
}
}
}
此示例运行良好(数据绑定工作正常)。但是现在,当我使用 Dotfuscator(版本 4.9.7750)混淆这个程序集时,绑定不起作用。如果我将 UserControlViewModel 类公开,则应用程序在混淆后也可以正常运行。
据我了解,Dotfuscator 在公开时不会更改属性的名称,但如果是私有类或内部类,则会更改它。
我现在的问题是,你如何处理这个问题。我认为在 DataBindings 中使用具有属性的内部类很常见,不是吗?或者有没有办法配置Dotfuscator?
提前致谢, rhe1980