我在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/

10-13 07:54