XP和Windows 7之间的C#区别

Ran*_*agg 0 .net c# wpf radio-button

当我在Windows XP中运行此代码时,我在radiobutton周围得到一个矩形.在Windows 7中没有.如果我删除评论,这也将在XP下运行良好.

任何想法为什么?

RadioButton rb1 = new RadioButton();
rb1.GroupName = kvp.Key.ToString();
rb1.Name = "Keep";
rb1.Margin = new Thickness(30, 5, 0, 0);
//rb1.HorizontalAlignment = HorizontalAlignment.Left;
//rb1.VerticalAlignment = VerticalAlignment.Top;
rb1.IsChecked = true;
rb1.Checked += OnRadioButton_Checked;
Grid.SetRow(rb1, grid.RowDefinitions.Count - 1);
Grid.SetColumn(rb1, 1);
grid.Children.Add(rb1);
Run Code Online (Sandbox Code Playgroud)

big*_*tlb 8

Windows 7和Windows XP将以略有不同的方式呈现相同的XAML,因为它们具有不同的默认主题.Vista和Windows 7使用Aero,而XP使用Luna(Windows Server 2003使用Classic - Windows Server 2008似乎也是如此).

您可以覆盖它以查看它是否导致您看到的差异.

http://arbel.net/blog/archive/2006/11/03/Forcing-WPF-to-use-a-specific-Windows-theme.aspx

http://msdn.microsoft.com/en-us/library/aa358533(v=VS.90).aspx