如果您正在寻找有关如何将其添加到您的应用程序的分步指南,我可以尝试一下;我只是碰巧需要对一个小应用程序进行一些改进,我喜欢这个并试了一下——我花了大约 45 分钟来申请。实际上很酷的东西!
首先:下载 source 应用程序并将其解压缩到您的计算机。
您会在其中找到三个子文件夹。一个带有示例应用程序,一个名为 Microsoft.Windows.Shell,一个名为 CustomChromeLibrary。将后两者复制到您的项目地图的根文件夹,添加它们到您的项目地图(添加现有项目),并从您的启动项目中,参考 他们。
现在打开您要应用 CustomChromeLibrary 的窗口。您需要从
更改根目录
<Window>
到
<ccl:CustomChromeWindow>
,这是通过使用以下代码作为文档根来完成的:
<ccl:CustomChromeWindow
Title="YourWindowTitle" Height="268" Width="733" ResizeMode="CanResize"
x:Class="YourNamespace.YourWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:shell="http://schemas.microsoft.com/winfx/2006/xaml/presentation/shell"
xmlns:ccl="clr-namespace:CustomChromeLibrary;assembly=CustomChromeLibrary"
xmlns:local="clr-namespace:YourNamespace"
>
注意示例中的最后三行。这些需要更新以引用正确的库;最后一个实际上引用了您的命名空间。
接下来您需要更新窗口的源代码,因为这仍然是一个简单的窗口,您会收到错误消息。
改变这个
public partial class YourWindow : Window
到这里
public partial class YourWindow : CustomChromeLibrary.CustomChromeWindow
你已经成功了一半!
接下来您只需要为您的窗口创建对象(标题栏等)。这在 示例项目 5 中完成得非常好;我确实只是复制它。
拿走一切
<shell:WindowChrome.WindowChrome>
<shell:WindowChrome
...
到这里
<!--min/max/close buttons-->
<ccl:CaptionButtons/>
现在你可以像这样填充你的窗口
<Grid>
The content of your Window goes here
</Grid>
然后像这样关闭 xaml
</Grid>
</ccl:CustomChromeWindow>
现在,如果您尝试运行它,您将收到另一个错误。仍然缺少三个文件:
您需要的第一个是 Microsoft 文件:CaptionButtonRectToMarginConverter.cs;您还将在示例中找到它。将其复制到您的项目并添加它(添加现有文件)。
您需要对其进行一项更改:
namespace YourNamespace
{ ...
而不是示例的命名空间。
最后,您需要创建按钮的两个 xaml 文件:GlassButton.xaml 和 GlassIcon.xaml;它们可以在“资源”子文件夹中找到(并且在 xaml 中被称为资源字典)。将整个子文件夹复制到您的项目中,并将这两个文件添加到您的项目中(添加现有文件)。
现在您应该终于可以运行您的项目了。
我们不要忘记这一点:gbahns,原文章的作者gbahns,在 codeplex.com!