WPF: изменение стиля списка, сглаживание перехода между границами - PullRequest
0 голосов
/ 15 сентября 2010

Я пытаюсь изменить стиль списка для меню Silverlight.

Результат, который мне нужен, должен выглядеть примерно так

Возможно ли это вообще ?, если это так:
Как я могу это подтвердить?

Текущий код Xaml, используемый для меню:

<Style x:Key="LeftMenuStyle" TargetType="ListBoxItem">

  <StackPanel Orientation="Horizontal" Margin="12">
   <Border BorderBrush="OliveDrab" CornerRadius="40" BorderThickness="5">
    <Image Source="../Resources/cancel.png" Width="50" Height="50"  />
   </Border>
   <Border CornerRadius="5" Width="180" >
    <Border.Background>
     <SolidColorBrush Color="OliveDrab"/>
    </Border.Background>
    <Border Padding="10,0,0,0">
     <ContentPresenter VerticalAlignment="Center" Content="{TemplateBinding Content}" />
    </Border>        
   </Border>
  </StackPanel>
 </Grid>
</ControlTemplate>

1 Ответ

0 голосов
/ 16 сентября 2010

Вы можете попытаться смоделировать эту форму с помощью Expression Design или подобного инструмента (на самом деле я не знаю, существует ли подобный инструмент); по крайней мере, это самое простое решение для меня. Вы даже можете импортировать файлы Adobe Illustrator, если там проще создавать формы. И вы получаете XAML, который вы можете использовать напрямую, включая любые сложные формы.

Примечание. Expression Design является частью Expression Studio.

В качестве быстрого примера (я только что соединил круг и прямоугольник), результат XAML таков:

<Path Width="197" Height="64.5" 
Canvas.Left="32.8333" Canvas.Top="41.6667" Stretch="Fill" 
StrokeLineJoin="Round" Stroke="#FF000000" Fill="#FFFFFFFF" 
Data="F1 M 65.0833,42.1667C 76.8868,42.1667 87.186,48.6077 92.6577,58.1667L 229.333,58.1667L 229.333,90.1667L 92.3654,90.1667C 86.8243,99.4496 76.6798,105.667 65.0833,105.667C 47.5483,105.667 33.3333,91.4517 33.3333,73.9167C 33.3333,56.3817 47.5483,42.1667 65.0833,42.1667 Z "/>

И на этом замечании я настоятельно рекомендую использовать Adobe Illustrator или эквивалентную программу и импортировать файлы в Expression Design; его возможности все еще минимальны, когда дело доходит до векторной графики, особенно для тех, кто привык к искусственному интеллекту. Также вы можете импортировать AI-файлы прямо в Blend.

...