我试图在我的Windows 10 Universal App中隐藏状态栏.在WP 8.1中,我StatusBar.GetForCurrentView().HideAsync();
用来隐藏状态栏,但这不适用于我当前的项目(Monogame,Win10 UAP) - 我在当前上下文中找不到"StatusBar"错误(是的,我正在使用Windows. UI.ViewManagement).我做错了什么,或者这个删除StatusBar的选项被删除了吗?我应该如何在W10M中完成这项工作?提前致谢.
我最近发现自己需要从类外部调用受保护的方法(原因很简单:我需要阻止对象在其值更改时触发 OnValueChanged 事件,这只能通过其受保护的 Set(value, sendCallback ) 功能)。
最后我想出了两个解决方案:
1.) 创建一个派生类,并且只添加这个函数:
public void SetValue (float val, bool callback) { Set(val, callback); }
Run Code Online (Sandbox Code Playgroud)
幸运的是,这个类被设置为可继承的,所以它起作用了。
2.) 使用反射和扩展方法并执行以下操作:
public static void SetValue(this Slider slider, float val, bool callback)
{
MethodInfo sliderSetMethod = slider.GetType().GetMethod("Set", BindingFlags.NonPublic | BindingFlags.Instance);
sliderSetMethod.Invoke(slider, new object[] { val, callback });
}
Run Code Online (Sandbox Code Playgroud)
这也很好用。有什么理由我应该使用一种或另一种吗?它们现在都运行良好,但它们显然不是真正干净的解决方案,所以我想知道它们中的任何一个将来是否会导致问题。