2010-09-07 4 views
1

Я пишу текстовый редактор в WPF, и у меня, похоже, есть странная граница, которую я не могу удалить.WPF TabControl с WindowsFormsHost неизвестная проблема с границей

У меня есть сетка с tabcontrol, и когда пользователь выбирает «Файл -> Новый», я программно добавляю новый tabitem в tabcontrol. Я устанавливаю содержимое tabitem в экземпляр WindowsFormsHost, чтобы разместить элемент управления ScinillaNet WinForms.

Вот проблема: http://i.stack.imgur.com/kotSb.png

Я уверен, что граница не исходит от самого элемента управления WinForms, так как я использовал его в другом месте в той же конфигурации, и она не имеет границ.

Красная граница вы видите, добавленные мной, чтобы выделить эту проблему (в методе, который в ответ на File -> New), со следующим кодом:

tabControl.BorderThickness = new Thickness(3, 3, 3, 3); 
tabControl.BorderBrush = Brushes.Red; 
tabControl.Items.Add(tab); 
tab.Focus(); 

Любые идеи, где этот внутренний серый границы идет от?

ответ

1

Это Padding на TabControl, который является полем, который применяется к размещенному дочернему элементу. См. Alignment, Margins, and Padding Overview. Он установлен в 4 в стандартном стиле TabControl. Попробуйте установить пустоту в ноль явно:

tabControl.BorderThickness = new Thickness(3, 3, 3, 3); 
tabControl.BorderBrush = Brushes.Red; 
tabControl.Padding = new Thickness(0); 
tabControl.Items.Add(tab); 
tab.Focus(); 
+0

Большое спасибо, кажется настолько очевидным, что вы сказали мне :) – Mark