在WPF中创建自定义“+”按钮

时间:2011-08-29 18:19:07

标签: wpf

我一直在尝试在WPF中创建自定义加号按钮。我只想要+符号,但我没有运气获得Path数据变量。我查看了Path语法,但我仍遇到问题。

这是我到目前为止所做的,但它太大了。我需要一个更小,更成比例的按钮:

<Path
        Stretch="Fill"
        Opacity="1"
        x:Name="path"
        StrokeThickness="10"
        RenderTransformOrigin="0.5,0.5" Margin="39,56.75,39,65.25" Data="M0,5L10,5 M5,5L5,1z" >

谁能告诉我这里有什么问题?

由于

5 个答案:

答案 0 :(得分:8)

您可以像这样使用Data属性

<Button>
    <Path Data="M0.5,0 L0.5,1 M0,0.5 L1,0.5"
          StrokeThickness="4"
          Stretch="Fill"
          Stroke="Red" />
</Button>

看起来像这样

enter image description here

修改
如果您希望行上限到达您可以设置的Button的边缘

StrokeEndLineCap="Square"
StrokeStartLineCap="Square"

答案 1 :(得分:7)

我知道你正在尝试使用绘图路径,并且可能希望得到一个解决方案。该解决方案可能对您将来的工作有所帮助。但是,这是特定按钮的替代方案,可能比您要求的解决方案更可取。

  

我一直在尝试在WPF中创建自定义加号按钮

由于没有“加号按钮”控制,无论你做什么,当然都是自定义的。但是,您不必完全重新发明轮子。 Windows中已使用+个图标。

除非您的应用程序具有完全自定义的UI,否则建议重用控件和图像以形成统一的用户体验。

要了解如何获取这些现有图标,请查看以下答案:Default icons for Windows applications?

答案是指使用Visual Studio安装的Zip文件。从该zip文件中,看看这个图标:

  

VS2010ImageLibrary / _Common Elements / Actions / Add.png

"Add" icons

下面还有其他“添加”类型的图标:

  

VS2010ImageLibrary /操作/ png_format / WinVista
  VS2010ImageLibrary /对象/ png_format / WinVista

"Plus" icon "Add Category" icon "Add File" icon

要使用按钮上的图像:

答案 2 :(得分:5)

我知道这看起来很傻,但是如果只使用包含大字体大小的+字符的TextBlock呢?

答案 3 :(得分:3)

试试这个路径 -

<Path Stretch="Fill"
      Fill="Black"
      Stroke="{x:Null}"
      StrokeThickness="0.5"
      Data="M3.875,0 L5.125,0 5.125,3.875 9,3.875 9,5.125 5.125,5.125 5.125,9 3.875,9 3.875,5.125 0,5.125 0,3.875 3.875,3.875 3.875,0 z" />

答案 4 :(得分:0)

对于发现此页面的任何其他人,请使用以下路径:

        var ip = Dns.GetHostEntry("google.com");
        Console.WriteLine(ip.AddressList.FirstOrDefault().ToString());
        Console.ReadKey();

给了我程序快照中显示的加号按钮 Plus Button SnapShot