2015-10-12 2 views
1

Есть ли возможность создавать не плоские проекты в C#? XAML, похоже, не имеет функции для реализации внутренних теней для buttons, dropdowns и других форм управления без каких-либо границ?Как создать не-плоский интерфейс в XAML

+3

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

+0

У вас есть какие-то уроки об этом? Я и мой друг находятся на нем уже 2 дня. – Lix0r

+0

Для чего вы программируете? нормальное приложение C#? – ScarletMerlin

ответ

3

Для создания неплоского управления, заполняют фоны с линейным и радиальным градиентом кистью.

Если вы не знаете, как создать кисти в XAML, вы можете использовать Blend для создания кистей.

Для окон без полей установите WindowStyle окна в None.

Вот пример:

<Button HorizontalAlignment="Center" 
     VerticalAlignment="Center" 
     Content="Click Me" 
     Foreground="White"> 
    <Button.Template> 
     <ControlTemplate TargetType="Button"> 
      <Grid> 
       <Rectangle> 
        <Rectangle.Fill> 
         <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> 
          <GradientStop Offset="0" Color="#FF4D4C4C" /> 
          <GradientStop Offset="1" Color="#FF1D1D1D" /> 
         </LinearGradientBrush> 
        </Rectangle.Fill> 
       </Rectangle> 
       <ContentPresenter Margin="10" 
            HorizontalAlignment="Center" 
            VerticalAlignment="Center" /> 
      </Grid> 
     </ControlTemplate> 
    </Button.Template> 
</Button> 
+0

Да, это работает для кнопок. По крайней мере, неправильно, но все в порядке. Но другие элементы управления, такие как выпадающие списки, по-прежнему находятся в стиле по умолчанию и не могут быть назначены на этом пути. – Lix0r

+1

@ Lix0r - он работает для всех элементов управления. Просто найдите свойства ControlTemplate элементов управления, чтобы увидеть, как они работают. Все части всех элементов управления можно заменить. –

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