我想创建一个与Visual Studio中完全相同的标题栏/控件的应用程序。或者你知道dnSpy吗?它也在使用它们。
我也喜欢这个1px边框,在这种情况下是蓝色边框。
我已经搜索了很多,也试图在这里找到一些东西,但我没有找到对我有用的东西。
这里举例说明(它来自壁纸引擎)窗口不仅有蓝色边框,我喜欢它,还有一些蓝色阴影?这看起来很酷我。我也想尝试一下。
我在WinForms中已经尝试过的是使用面板并自己创建它。
我设法获得了我想要的边框,我也可以使用图片框来显示最小/最大/关闭按钮?
但这并不是我想要的,我也必须编写应用程序的移动/拖动行为,因为不再有控件了。这不是那么难,但......我想要另一种方式。
任何人都可以帮助我吗?我在VS 2017中使用C#,我想用Forms或WPF创建应用程序。可能会去WPF。
几乎忘了提及我真的不想使用第三方工具,如MahApps,Metro Framework等。在VS中是不是有内置的Metro风格选项?而是在.NET框架中。
我的意思是它实际上只有这三个按钮,最小/最大/关闭。和边界。这就是我所需要的一切
答案 0 :(得分:0)
这很简单,如果你想拖动窗口,请使用DragMove
方法:
private void WhatEverControlYouWanttoUseToClickAndDrag_MouseDown()
{
DragMove();
)
其余
您可以简单地使用Image
控件。您可以添加要显示的任何图片。将其放在Rectangle
上方并使用它。
<强>解释强>
Image
控件来自System.Windows.Controls
命名空间。Rectangle
控件没有什么不同。现在,您可能会问,为什么我不建议Button
?好吧,你可以使用一个按钮,但除非你选择ControlTemplate
,否则你不能用它来实现所需的外观,对于初学者来说,我完全不会建议。
您可以使用Rectangle
,设置Fill
颜色。现在,如果您想在鼠标悬停在矩形上时更改颜色,该怎么办?好吧,这是一个样本XAML
,它还会为变色添加动画:)
<Rectangle >
<Rectangle.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Fill" Value = "Blue" Duration="0:0:0.3"/>
///Add required closing tags please
现在,关于Image
控件。当您将其放在矩形上时,您需要将IsHitTestVisible
属性设置为False
,这将阻止任何类型的鼠标交互它还可以防止Image
和Rectangle
之间的干扰。 :)
最后一个提示,如果您想让Image
控件在图像上应用最清晰的外观/最佳品质,请务必将BitmapScalingMode
设置为Fant
:
<Image Source="\ac.png" RenderingOptions.BitmapScalingMode="Fant"/>