我最近开始学习WPF,但遇到了一个小问题。我正在尝试创建一个符合我在Photoshop中制作的基本按钮形状(透明)。
这是形状(它就像一个盒子,每侧有一个三角形)。 http://prntscr.com/g3esel
如果在Blend中更容易做到并将其实现为视觉,那么我很想知道如何。
BUTTON STYLE:
$scope.facultymembers.splice(index,1);
谢谢!
答案 0 :(得分:0)
您需要为Button
创建ControlTemplate。这可以在Blend和Visual Studio中完成。我是在VS2015做的。
这是你的代码:
但是,对于未来,请在发布问题之前尝试some work yourself。包含足够的代码以允许其他人重现问题。有关此方面的帮助,请阅读如何创建Minimal, Complete, and Verifiable example。
<Grid Background="Red">
<Button Height="52" Opacity="0.8">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
<GradientStop Color="#053755" Offset="0" />
<GradientStop Color="#053755" Offset="0.5" />
<GradientStop Color="#061F31" Offset="0.5" />
<GradientStop Color="#061F31" Offset="1.0" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border Margin="-1,0" Grid.Column="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0,1">
<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center" Content="{TemplateBinding Content}"/>
</Border>
<Path Fill="{TemplateBinding Background}" Data="M13,0 0,25 0,27 13,52 13,52" Stroke="{TemplateBinding BorderBrush}" Width="13" Stretch="Fill" ClipToBounds="True"/>
<Path Grid.Column="2" Data="M0,0 13,25 13,27 0,52" Stroke="{TemplateBinding BorderBrush}" Fill="{TemplateBinding Background}" Width="13" Stretch="Fill" ClipToBounds="True"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button>
</Grid>