WPF中Popup等弹窗的位置不对(偏左或者偏右)
2021-03-30 14:24
标签:type question table isp binding inf 技术 line and 1.情况如图: 正常情况: 部分特殊情况: 在一般的电脑都能正确显示,就是第一种情况,同样的代码为什么在不同的电脑就会显示不同的位置呢,原来Windows为了满足 不同需求的用户,左撇子和右撇子,就会显示不同的情况,在显示异常的电脑中,在运行中输入Table 如果出现下图中的内容: 就是那个Table PC settings中的设置导致的,点击它,然后进入other,就可以看到 有Right-handed和Left-handed, 这两个选项就是问题的根源 2. 那么在代码中如何处理呢,肯定不能让用户自己去手动修改吧,那么解决方法如下: 参考:http://stackoverflow.com/questions/18113597/wpf-handedness-with-popups 和https://social.msdn.microsoft.com/Forums/vstudio/en-US/19ef3d33-01e5-45c5-a845-d64f9231001c/popup-positioningalignments?forum=wpf http://www.tomshardware.com/forum/37096-63-popups-menus-wrong-side WPF中Popup等弹窗的位置不对(偏左或者偏右) 标签:type question table isp binding inf 技术 line and 原文地址:https://www.cnblogs.com/lonelyxmas/p/9278365.html 1 public static void SetAlignment()
2 {
3 //获取系统是以Left-handed(true)还是Right-handed(false)
4 var ifLeft = SystemParameters.MenuDropAlignment;
5
6 if (ifLeft)
7 {
8 // change to false
9 var t = typeof(SystemParameters);
10 var field = t.GetField("_menuDropAlignment", BindingFlags.NonPublic | BindingFlags.Static);
11 field.SetValue(null, false);
12
13 ifLeft = SystemParameters.MenuDropAlignment;
14 }
15 }
文章标题:WPF中Popup等弹窗的位置不对(偏左或者偏右)
文章链接:http://soscw.com/index.php/essay/70018.html