Как стать автором
Обновить

WPF Tipz #1

.NET
Давеча у меня сломались уголки, нет ну натурально — сломались,
нет слава богу не в жизни, а только в приложении.

Жило себе приложение полгода и хоть бы хны, а тут раз и уголки у него сломались.

P.S

Тема уголков в WPF можеть быть не в полной мере раскрыта,
собственно ваши варианты по реализациям очень приветствуются :)



Думал, пыхтел, воевал с радиусами и с углами и с толщиной и с прозрачностью,
ничего не выходило…

А тем временем, в Visual Studio все выглядело нормально:


В отличии от скомпилированного варианта:


Пошел я ругаться на обновление студии SP1, а попутно и вопрошать что же делать…
Подождал как водится ответа, но тут сообразил что может и видеокарта виновата,
недавно обновил на 9600GT, может братья китайцы пошаманили…
Написал, нуль ответа…

Прошел час, мозг пробуждаясь от активность к пассивности подталкивал меня к утилите настройке драйвера Nvidia, зашел я туда в опции 3D, так там все с упором на качество…

Должно же ведь наоборот не быть такого…

Изменил я настройки на «Настройки согласно 3D-приложению»…
Мои уголки загорелись синим, думаю неспроста это и перекомпилировал приложение и
радости не было предела, мои уголки пришли обратно ко мне :)



P.S
Надеюсь мой опыт поможет кому-либо.
Просьба не минусовать меня тем людям которым не нравятся уголки или
WPF или Microsoft или шум на берегу Канарских островов.

P.P.S

Код Уголков:

<Window x:Class="ZabrRssReader.Forms.Windows.ViewFeedItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Width="310" Height="260" WindowStyle="None" Background="Transparent"
AllowsTransparency="True" WindowStartupLocation="CenterOwner">
<Border BorderThickness="3,5,3,5" CornerRadius="20,20,20,20" Padding="10">

<Border.BorderBrush>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#FFAAAAAA" Offset="0"></GradientStop>
<GradientStop Color="#FFAAAAAA" Offset="1"></GradientStop>
</LinearGradientBrush>
</Border.BorderBrush>

<Border.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#615B5D" Offset="0"></GradientStop>
<GradientStop Color="#615B5D" Offset="0.2"></GradientStop>
<GradientStop Color="#615B5D" Offset="0.3"></GradientStop>
<GradientStop Color="#615B5D" Offset="0.2"></GradientStop>
<GradientStop Color="#000000" Offset="1"></GradientStop>
</LinearGradientBrush>
</Border.Background>

<TextBlock TextAlignment="Center" VerticalAlignment="Center">
Hello World!
</TextBlock>
</Border>
</Window>



===========================================================

Строка делает уголки и толщину границ:
<Border BorderThickness=«3,5,3,5» CornerRadius=«20,20,20,20» Padding=«10»>


Для того чтобы уголки можно было нормально «щупать» включаем прозрачность в окне:
WindowStyle=«None» Background=«Transparent» AllowsTransparency=«True»

А для того чтобы мы могли перемещать формочку за «части тела» добавляем метод
MouseDown=«Window_MouseDown» в строку описания окна, и в файл кода добавляем метод:

//Makes Window Moving
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed) DragMove();
}


P.P.P.S

Интересна ли вам серия статей в виде типзов ну или чуть более академически-сухих по WPF?
Теги:WPFnvidiaпроблема уголков
Хабы: .NET
Всего голосов 20: ↑19 и ↓1 +18
Просмотры1.3K

Похожие публикации

UI-дизайнер
25 июня 202147 940 ₽Нетология
Python для работы с данными
25 июня 202131 500 ₽Нетология
Веб-дизайнер
28 июня 202183 000 ₽GeekBrains
Основы вёрстки сайтов
28 июня 202120 000 ₽Loftschool
Node.js: серверный JavaScript
28 июня 202127 000 ₽Loftschool

Лучшие публикации за сутки