C# 使用资源字典中的WindowsStyle并将按钮添加到应用程序中的ControlPresenter
我使用一个资源字典,里面有我所有的样式、图标等等。 现在我想添加我自己的标题栏,实现解决方案的标题、我的图像和ContentPresenter。 使用WindowsStyle时,我希望在此ContentPresenter中添加特定于应用程序的项目,但我不知道如何继续 这是我的窗口样式。在网格中,您将找到我要填充的ContentPresenterC# 使用资源字典中的WindowsStyle并将按钮添加到应用程序中的ControlPresenter,c#,wpf,xaml,resourcedictionary,contentpresenter,C#,Wpf,Xaml,Resourcedictionary,Contentpresenter,我使用一个资源字典,里面有我所有的样式、图标等等。 现在我想添加我自己的标题栏,实现解决方案的标题、我的图像和ContentPresenter。 使用WindowsStyle时,我希望在此ContentPresenter中添加特定于应用程序的项目,但我不知道如何继续 这是我的窗口样式。在网格中,您将找到我要填充的ContentPresenter 我使用了这样的样式,并尝试编辑模板,例如在标题栏中添加一些按钮 如何在应用程序中使用WindowsStyle并将特定项目添加到标题栏上的空白处?
我使用了这样的样式,并尝试编辑模板,例如在标题栏中添加一些按钮
如何在应用程序中使用WindowsStyle并将特定项目添加到标题栏上的空白处?由于
窗口只有一个内容
属性,因此在控制模板
中包含多个
元素毫无意义
您可能希望创建一个自定义类,该类继承自窗口,并添加名为“TitleBarContent”的依赖属性或其他内容。然后,可以向绑定到此属性的模板添加ContentControl
:
<ContentControl Content="{TemplateBinding TitleBarContent}" />
可以像往常一样在样式设置器中设置dependency属性的值:
<Style TargetType="{x:Type local:YourWindowClass}" x:Key="newWindow" BasedOn="{StaticResource tkDarkWindowStyle}">
<Setter Property="TitleBarContent">
<Setter.Value>
<TextBlock>title...</TextBlock>
</Setter.Value>
</Setter>
</Style>
标题
显示在ContentPresenter
中的是窗口的内容。为什么要创建另一个样式?我在样式中使用了两个ContentPresenter
。我如何选择哪个内容
转到第一个或第二个内容演示者
?创建新样式是我最好的尝试之一。使用两个ContentPresenter
没有任何意义,因为窗口只有一个Content
属性。是的,我现在看到了ContentPresenter
的问题。你对如何达到想要的行为有什么建议吗?当然。创建自定义类并定义依赖项属性。看看我的答案。