需求:做一個如下圖所示的多邊形按鈕。
<!-- 特殊形狀的按鈕 --> <Grid> <Polygon Points="0,0 140,0 190,42 140,84 0,84" MouseDown="YourCommand" Stroke="#FFE00E73" StrokeThickness="1" VerticalAlignment="Center" Margin="10"> <Polygon.Fill> <SolidColorBrush Color="White"/> </Polygon.Fill> </Polygon> <Label Content="開始設計" MouseDown="YourCommand" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="24" Foreground="#FFE00E73" Margin="-30,0,0,0"/> </Grid>
Points點從左上角(0, 0)點開始,順時針繪制,最后回到原點完成封閉的圖形。
由於多邊形Polygon沒有內部顯示文字的屬性,用一個Grid將它和Label包裹到一起。
Label也要加上與Polygon相同的MouseDown點擊事件,否則點擊到Label上將沒有反應(事件被Label攔截,Polygon無法接收到)。