Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF样式问题_Wpf_Xaml - Fatal编程技术网

WPF样式问题

WPF样式问题,wpf,xaml,Wpf,Xaml,我想知道是否有人可以帮忙,我正在为我正在处理的应用程序设计一个自定义WPF窗口,我对Min、Max和Close按钮有一个问题。我为3个按钮设计了一个控制模板,它们位于堆叠面板,方向为垂直。在我的基本风格中,我有以下几点 <Style x:Key="BaseWindowButtonStyle" TargetType="{x:Type Button}"> <Setter Property="Foreground" Value={Binding RelativeSource=

我想知道是否有人可以帮忙,我正在为我正在处理的应用程序设计一个自定义WPF窗口,我对Min、Max和Close按钮有一个问题。我为3个按钮设计了一个
控制模板
,它们位于
堆叠面板
,方向为
垂直
。在我的基本风格中,我有以下几点

<Style x:Key="BaseWindowButtonStyle" TargetType="{x:Type Button}">
    <Setter Property="Foreground" Value={Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}" />
    <Setter Property="Background" Value="Transparent" />
    ...
</Style>
我不知道为什么内容没有显示出来,所以我很感激你的想法

下面是视觉树,我已经检查了它并确定了前景值

Window (Foreground: #FF000000)
  Grid
    AdornerDecorator
      Grid
        ContentControl (Foreground: #FF000000)
          StackPanel
            Button (Foreground: #FF000000)
              Grid
                ContentControl (Foreground: #FF000000)

但正如我上面所说,我已经删除了绑定并指定了一个物理值,但仍然无法显示内容

,因为我也是WPF的初学者,尝试理解内容是一个学习过程,我想在此提供一些以前发布的链接

首先是一个简单的样式,并将所有标签作为默认值,采用这种格式,无需显式的样式指定

另一个样本显示。这就是我一步一步创建自定义类并对其应用样式以显示/隐藏按钮上的图像的地方


也许按钮链接和样式声明也会帮助您发现按钮的颜色问题。

因为我也是WPF的初学者,并且试图理解一些东西是一个学习过程,所以我想在此提供一些以前发布的链接

首先是一个简单的样式,并将所有标签作为默认值,采用这种格式,无需显式的样式指定

另一个样本显示。这就是我一步一步创建自定义类并对其应用样式以显示/隐藏按钮上的图像的地方


可能按钮链接和样式声明也会帮助您找到按钮的颜色问题。

在按钮模板中使用
ContentPresenter
而不是
ContentControl
。(您应该在这样的问题中包括按钮的控件模板…这可能非常相关。)

在按钮模板中使用
ContentPresenter
而不是
ContentControl
。(您应该在这样的问题中包含按钮的控件模板……这可能非常相关。)

绑定到
TextElement.前台
解析到什么值?我是WPF新手,因此我的理解受到限制,但相对源绑定将绑定到按钮的基本类型,其类型为FrameworkElement
{RelativeSource AncestorType={x:type FrameworkElement}
将使用元素树中较高位置的a
框架元素,而不是继承树。这可能是按钮的父元素。使用Visual Studio的“Live Visual Tree”查找绑定值是什么。而不是
绑定到
TextElement.前台的绑定值是什么?我是WPF新手,因此我的理解有限,但相对源绑定将是绑定到按钮的基本类型,其类型为FrameworkElement
{RelativeSource AncestorType={x:Type FrameworkElement}
将使用元素树中较高位置的a
FrameworkElement
,而不是继承树。这可能是按钮的父元素。使用Visual Studio的“Live Visual tree”查找绑定值是什么。而不是
这是问题所在,在按钮
ControlTemplate
中,我定义了一个客户m
ContentControl
添加一些额外的属性,我没有为自定义
ContentControl
定义
样式,因此正如您在回答中提到的,没有
ContentPresenter
,我已经看了很久,看不到树的木材这是问题所在,在按钮中
ControlTemplate
我已经定义了一个自定义
ContentControl
来添加一些额外的属性,并且我还没有为自定义
ContentControl
定义一个
样式
,因此正如您在回答中提到的,没有
ContentPresenter
,我已经看了很长时间,看不到木材了树木
Window (Foreground: #FF000000)
  Grid
    AdornerDecorator
      Grid
        ContentControl (Foreground: #FF000000)
          StackPanel
            Button (Foreground: #FF000000)
              Grid
                ContentControl (Foreground: #FF000000)