TargetType 与元素类型不匹配

2024-04-09

我有一个简单的buttonStyle 定义TargetType of Button;但将样式设置为按钮会产生例外。

<Window>
    <Window.Resources>
        <Style x:Key="buttonStyle" TargetType="{x:Type Button}">
            <Setter Property="Background" Value="Magenta"/>
        </Style>
    </Window.Resources>
    <StackPanel Orientation="Horizontal">
        <Button Content="1" FocusVisualStyle="{StaticResource buttonStyle}"/>
    </StackPanel>
</Window>

附加信息:“按钮”TargetType 与类型不匹配 元素“控制”。


此外,设置TargetType as Control消除了运行时错误,但按钮的视觉样式在获取时不会改变Focus.


样式设置为时有效Button.Style


Edit我有两个具体问题:

  1. 我同意这样一个事实FocusVisualStyle是一个属性FrameworkElement and FrameworkContentElement,但是为什么在按钮上设置它时会出现错误,尽管 Style 是一个命名样式而不是一个打字风格 ?

  2. 为什么FocusVisualStyle不要渲染在Button?是个Button.FocusVisualStyle是否被任何更高优先级值(如模板、触发器或模板触发器)内部覆盖?


a FocusVisualStyle允许您在出现问题时向用户提供视觉反馈control是专注的。例如,添加一个Rectangle它看起来像控件的边框。

A Style是控件本身的外观和感觉。一切都已经解释了here https://msdn.microsoft.com/en-us/library/bb613567(v=vs.110).aspx.

FocusVisualStyle不是的风格Button就其本身而言,这是当Button是专注的。

See here https://msdn.microsoft.com/en-us/library/ms744790(v=vs.110).aspx了解更多信息。

我认为你所追求的是Trigger.

<Style x:Key="buttonStyle" TargetType="{x:Type Button}">
    <Style.Triggers>
        <Trigger Property="IsFocused" Value="True">
            <Setter Property="Background" Value="Magenta"/>
        </Trigger>
    </Style.Triggers>
</Style>

然后,您可以设置Style你的Button,像这样:

<Button Style="{StaticResource buttonStyle}" ... />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TargetType 与元素类型不匹配 的相关文章

  • 将 RenderTargetBitmap 转换为 System.Drawing.Image

    我有 3D WPF 视觉对象 我想将其传递到 Excel 单元格 通过剪贴板缓冲区 对于 普通 BMP 图像 它可以工作 但我不知道如何转换RenderTargetBitmap 我的代码如下所示 System Windows Media I
  • 上传大型 xml 到 WCF REST 服务 -> 400 错误请求

    我一直在尝试寻找这个错误 但到目前为止还没有运气 所以我的客户端上有一个带有此 web config 的服务
  • 破译哪个控件触发了事件

    我有一个包含许多图像的应用程序 这些图像看起来都相同并执行类似的任务
  • WPF DataGrid 双向绑定

    我有财产UserSet其中包含来自ObservableCollection
  • 更改 UWP 评级控件的大小和间距

    有一个新的评级控制 https learn microsoft com en us uwp api windows ui xaml controls ratingcontrol在 UWP 中 您可以将评级显示为一系列星星 我想知道如何改变星
  • XAML中无限旋转矩形

    如何定义XAML无限旋转矩形 到目前为止 我找到了一个带有代码但没有 xaml 的解决方案 http www codeproject com Articles 23257 Beginner s WPF Animation Tutorial
  • WinRT 中的 ComposableAttribute 是什么?

    我试图了解 WinRT 的一些较低级别的部分是如何工作的 我遇到了ComposableAttribute这可能是我需要的关键 但是 那文档 http msdn microsoft com en us library windows apps
  • 列表框仅显示一项

    我有一个ListBox和一个带有字符串的类 每次用户单击应用程序中的添加按钮时 我都会创建该类的一个新实例并将其添加到绑定到的列表中ListBox 第一次单击 添加 按钮时 列表框显示第一项 但下次单击时不再显示两项 XAML 这是List
  • 如何为 WPF 工具包图表提供样式

    我在 WPF 应用程序中使用 WPF Toolkit Chart 和 PieChart 我想将饼图图片中的默认白色背景更改为透明 如何提供风格来实现这一目标 WPF 旨在允许您通过 XAML 设置控件样式 不是代码 还可以通过样式使饼图中的
  • WPF RichTextBox 中的只读 Run 元素?

    我可能完全是在想象这一点 但我可以发誓有一种方法可以使 RichTextBox 中的各个 Run 或 Parapgraph 元素成为只读 我还可以发誓 几周前我自己尝试了一种方法 并对结果感到满意 我隐约记得它看起来像这样
  • Windows 更新 KB4040972/73 导致 WPF 类出现黑色图像

    我有一个依赖于深度缩放图像 从 PNG 转换为各种比例的 JPG 金字塔 的应用程序 我们使用 DeepZoomTools dll 来实现 这依赖于PresentationCore dll 多年来一直运行良好 推出 KB4040972 和
  • Wpf ScrollViewer 滚动量

    是否可以更改 WPF ScrollViewer 滚动的量 我只是想知道是否可以更改滚动查看器 以便在使用鼠标滚轮或滚动查看器箭头时可以更改增量滚动量 简短的答案是 如果不编写一些自定义滚动代码 就无法做到这一点 但不要让这吓到你 这并不那么
  • 使用 C# 从 UIElement 截取 WPF 屏幕截图 JPG

    我正在尝试从我的 WPF 应用程序的一部分创建 JPG 就像截图一样 只是个人的UIElements 我从这里开始 http www grumpydev com 2009 01 03 take wpf screenshots http ww
  • wpf自定义控件:另一个矩形内的可拖动/可调整大小的矩形

    我正在研究一个带有两个矩形的控件 一个在另一个矩形内 我希望用户能够拖动内部矩形 调整其大小 如果可能的话 也可以在外部矩形的边界内旋转它 这些值应该是可绑定的 以便我可以在更新时将这些值存储在我的数据源中 是否已经有这样的控件或者有人有任
  • Prism 应用程序关闭时不退出

    我正在学习棱镜 我遇到了一个问题 我制作了一款应用程序 与 Mike Taulty 制作的关于 Prism 的精彩教程中的应用程序非常相似 最大的区别是我的应用程序是 WPF 应用程序而不是 Silverlight 我发现我遇到了问题 当我
  • wpf C# 中的内存泄漏

    我正在使用 GalaSoft MvvmLight 套件和 WPF Toolkit 开发 WPF MVVM v3 5 中 应用程序DataGrid and DatePicker 但是 每次加载应用程序时 我都会面临应用程序中的大量内存泄漏Us
  • WP7中加粗的ProgressBar,怎么样?

    我正在制作一个应用程序 它有一个计数器和一个代表剩余时间的进度条 因此如果计数器达到 50 则进度条值为 50 到目前为止一切顺利 我制作了一个计数器总计的进度条动画并开始 我的问题是 如何使进度条变粗 线条本身太小 我的应用程序的 主要吸
  • 如何在 WPF 中更改按钮 MouseOver 的背景?

    我的页面上有一个带有以下 XAML 的按钮
  • 如何检查应用程序的另一个实例是否正在运行[重复]

    这个问题在这里已经有答案了 有人可以展示如何检查程序的另一个实例 例如 test exe 是否正在运行 如果是 则停止加载应用程序 如果存在该实例 想要一些严肃的代码吗 这里是 var exists System Diagnostics P
  • WPF TreeView:如何像在资源管理器中一样使用圆角设置所选项目的样式

    WPF TreeView 中的所选项目具有带有 尖 角的深蓝色背景 今天看来有点过时了 我想将背景更改为 Windows 7 资源管理器中的样子 带 不带焦点 到目前为止我所尝试的并没有删除原来的深蓝色背景 而是在其顶部绘制了一个圆形边框

随机推荐