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();
}
}
}
ViewModel クラス:
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 クラスを public にすると、アプリケーションは難読化後も正常に動作します。
私が理解しているように、Dotfuscator はパブリックの場合はプロパティの名前を変更しませんが、プライベート クラスまたは内部クラスの場合は変更します。
私の質問は、この問題をどのように処理するかです。DataBinding で使用されるプロパティを持つ内部クラスを持つのは一般的だと思いますね。または、Dotfuscator を構成する方法はありますか?
よろしくお願いします、rhe1980