2011-12-21 5 views
1

У меня есть вопрос о кнопках dat wpf. В моем приложении у меня есть передний например кодКнопка, как удалить границу

<Button x:Name="SukaKnopka" VerticalAlignment="Top" HorizontalAlignment="Right" Background="Black" MaxHeight="20" MaxWidth="20" BorderBrush="Black"> 
    <Image Source="ButtonsImages/close_btn.png" Stretch="Fill"/> 
</Button> 

Все это хорошо, но есть некоторая небольшая рамка вокруг этой кнопки = (я судимый BorderBrush="{x:Null}" но граница снова присутствуют. (Это пограничные моменты если MouseOver)

+0

Вы пробовали настройку 'BorderThickness =" 0 "и' BorderBrush = "Прозрачный" '? –

+0

Попытайтесь переопределить Controltemplate кнопки и удалить эту границу или вызвать ее по-разному при необходимости мыши. –

+0

Вопросы, подобные этому, лучше исследовать, когда вы показываете скриншот проблемной области. – dasblinkenlight

ответ

1

slade is right, попробуйте изменить то, что вам нужно больше походить на следующее, и оно должно дать вам то, что вы хотите.

<Button x:Name="SukaKnopka" VerticalAlignment="Top" HorizontalAlignment="Right" Background="Black" MaxHeight="20" MaxWidth="20" BorderBrush="Black"> 
<Button.Template> 
    <ControlTemplate> 
      <Image Source="ButtonsImages/close_btn.png" Stretch="Fill"/> 
    </ControlTemplate> 
</Button.Template> 
</Button> 
+0

Это решает проблему, но не отвечает на вопрос. –

0

было некоторое время, так как я сделал любой "реальной" WPF, но делает

BorderThickness="0,0,0,0" 

работа?

+0

Я просто попробовал это в Kaxaml, и это не имеет никакого значения - похоже, что шаблон Button игнорирует BorderThickness. –

3

Как насколько я понимаю, многие элементы управления WPF полностью определены в их стилях. Таким образом, даже если вы укажете другую границу на Button, например; существующие стили Button будут переопределять все, что вы указали. Чтобы преодолеть это, вы должны создать ControlTemplate.

+0

Стили допускают изменения в применяемых свойствах, поэтому вы можете изменить эстетику элемента управления без необходимости полностью переписывать полный стиль или шаблон; , некоторые из кистей и т. д. могут использоваться независимо от технических условий. –

+0

Да, но, в частности, кнопка «Button» задана тем, что многие триггеры переопределяют любой пользовательский стиль - т. Е. При наведении указателя мыши на кнопку «Button». –

+0

Согласен. Однако для этой конкретной проблемы я уверен, что решение должно быть более простым. –

2
<Button> 
     <Button.Resources> 
      <Style TargetType="Border"> 
       <Setter Property="BorderThickness" Value="0" /> 
      </Style> 
     </Button.Resources> 
    </Button> 

Это должно сделать трюк. Он установит каждую BorderThickness или каждую границу внутри кнопки на 0.

Смежные вопросы