2011-01-31 74 views
0

當我在Windows XP中運行此代碼時,我在該單選按鈕周圍獲得了一個矩形。在Windows 7中沒有。 如果我刪除評論,這也將在XP下運作良好。C#與XP和Windows 7的區別

有什麼想法爲什麼?

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); 
+3

你可以張貼的不同效果的屏幕截圖。 – ChrisF 2011-01-31 21:48:06

+0

你有沒有解決這個問題?,我認爲是相同的http://stackoverflow.com/questions/8354423/wpf-margin-renders-diffrently-on-windows-xp-7但不是100%確定.. – Peter 2011-12-02 10:44:22

回答

8

Windows 7和Windows XP將以稍微不同的方式呈現相同的XAML,因爲它們具有不同的默認主題。 Vista和Windows 7使用Aero,而XP使用Luna(Windows Server 2003使用經典 - 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