我在xaml文件中有一个按钮,在某些情况下应该隐藏。
这里是:
<Button Visibility="{Binding Path=ShowMyButton}"/>
除非混淆我的代码,否则绑定是完美的。
在AssemblyInfo.cs中,我添加了以下程序集批注:
[assembly: ObfuscateAssemblyAttribute(false, StripAfterObfuscation = false)]
顺便说一下,我使用Eazfuscator.NET
混淆代码后,按钮始终可见,即绑定不再起作用。
我在ShowMyButton属性中添加了以下注释:
[ObfuscationAttribute(Exclude=true)]
public bool ShowMyButton
{
get
{
return _showMe;
}
set
{
_showMe= value;
OnPropertyChanged("ShowMyButton");
}
}
这种排除效果很好,但是我有3个问题:
为什么xaml在混淆时会感到困惑。我可以告诉混淆器不要混淆在xaml文件中引用绑定的方法吗?
根据msdn,ObfuscateAssemblyAttribute仅在公共方法和私有方法之间进行区分。在xaml文件中手动排除所有引用绑定的方法将非常令人沮丧(我的应用程序中有数十种方法)。有自动选项吗?
有没有一种方法可以告诉混淆器仅混淆应用程序中的特定方法,即默认情况下请不要混淆任何东西,直到我告诉您这样做为止。
最佳答案
这是一个已知问题,在Eazfuscator.NET的最新版本中为it was fixed。
关于c# - C#混淆和XAML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14282393/