2019-11-29-WPF-笔刷绑定不上可能的原因

原文:2019-11-29-WPF-笔刷绑定不上可能的原因

title author date CreateTime categories

WPF 笔刷绑定不上可能的原因

lindexi

2019-11-29 08:46:22 +0800

2019-9-18 9:2:33 +0800

WPF

在 WPF 中如背景色等都是使用笔刷,在使用绑定的时候可能绑定不上,本文告诉大家绑定不上可能的原因和调试方法

有小伙伴问我为什么他的背景绑定不上,他的代码如下

    <Window.Resources>
        <local:StateToColorConverter x:Key="StateToColorConverter"></local:StateToColorConverter>
    </Window.Resources>
    <Grid >
        <Grid Background="{Binding Path=Width,Converter={StaticResource StateToColorConverter}}"></Grid>
    </Grid>

其中后台代码如下

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;
        }
    }

    public class StateToColorConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            switch (value)
            {

                default:
                    return Brushes.Transparent.Color;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

这是简化的版本

原因是在小伙伴在转换器里面绑定的返回值是 Color 而 Background 的需要的值是 Brush 所以绑定不上

修复方法是不返回 Color 应该返回 Brush 就可以

调试 XAML 绑定可以通过在 VisualStudio 的选项开启输出绑定信息

在工具 选项 调试 输出窗口 可以看到绑定的输出,将这一项设置为详细就可以输出很多调试信息,如上面代码将会输出绑定返回值


  1. System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. BindingExpression:Path=Width; DataItem=null; target element is ‘Grid‘ (Name=‘‘); target property is ‘Background‘ (type ‘Brush‘)

翻译一下

System.Windows.Data Information: 10 : 无法接受绑定的返回值,同时没有设置绑定失败使用的值;将使用默认值代替。绑定表达式是 Path=Width 数据项是没有,绑定的元素是 Grid 绑定的属性是 Background 这个属性的类型是 Brush 类型

如果不想每次都设置 VisualStudio 可以使用 WPF 如何调试 binding

原文地址:https://www.cnblogs.com/lonelyxmas/p/12075850.html

时间: 2024-11-14 08:06:16

2019-11-29-WPF-笔刷绑定不上可能的原因的相关文章

WPF TreeView IsExpanded 绑定不上的问题

最近项目上需要通过MVVM来控制TreeView,其中需要需要控制通过搜索来定位某个节点,正常逻辑下,首先通过需要在树上面找到该节点,然后选中该节点,并将该节点的父节点展开,这个时候需要通过MVVM来控制,需要绑定起来,只是一直没有binding上,代码如下: MVVM示例代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Collections.ObjectModel; 4 using System.Li

矩阵结合律的证明-2019.11.29

学习日志-矩阵 矩阵的乘法 证明矩阵乘法的结合律,即证A(BC)=(AB)C 先令出三个矩阵 A_{mn}; B_{np}; C_(p*q) 先看等式右边(AB)C 新矩阵第i行第j列的元素就是AB相乘后的第i行与C的第j列各元素相乘的和 A的第i行乘以B的第1列如下: \begin{equation} \left[ \begin{array}{cccc} a_{i1} & a_{i2} & - & a_{in} \end{array} \right ] \left[ \begin

EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f(n,k)\)为满足要求的\(k\)元组个数,现在要求出\(\sum_{i=1}^n f(i,k),1\leq n\leq 10^9,1\leq k\leq 1000\). 思路: 首先来化简一下式子,题目要求的就是: \[ \begin{aligned} &\sum_{i=1}^n\sum_{j=1

2019-11-29-WPF-依赖属性绑定不上调试方法

原文:2019-11-29-WPF-依赖属性绑定不上调试方法 title author date CreateTime categories WPF 依赖属性绑定不上调试方法 lindexi 2019-11-29 08:46:33 +0800 2019-8-2 18:44:5 +0800 WPF 在写 WPF 程序的时候会遇到依赖属性绑定了,但是值没有更新或者没有绑定上的问题,本文告诉大家可以如何调试 依赖属性不对应 在写依赖属性的时候,默认使用快捷键创建,但是如果是自己写的,需要注意引用的类以

100套新鲜免费的PS笔刷下载

这篇文章所有的Photoshop笔刷都是免费且高质量的.笔刷总类齐全:有飞鸟.冰块.水.树枝.喷墨.科技元素.皮肤纹理.烟火等等!用它们来加速你的工作流程,提升作品档次吧!”一挪妖娆举动,一刷风情万种”的干货笔刷又来咯! 部分无法戳开,请FQ下载:) 1. Watercolor Paint Brushes 2. Free Cross Hatch Photoshop Brush Set 3. Guild Wars 2 Brushes 4. Photoshop Grunge Paint Brushe

2019.08.29学习整理

2019.08.29学习整理 绑定方法与非绑定方法 绑定方法 对象绑定方法 类的绑定方法 绑定方法:特殊之处,绑定给谁就是谁来调,并且会把自身调过来 类的绑定方法 绑定给类,类来调用,会把类自身传过来 类的绑定方法用在什么地方 不需要通过对象,只需要通过类就能获取到一些东西的时候,用类的绑定方法 类的绑定方法,可以由对象来调 class Person: ''' 注释的内容 ''' def __init__(self,name,age): # print(self) self.name=name

WPF元素的绑定

一.两个元素的简单绑     WPF元素的绑定,是指将两个控件绑在一起,比如利用滑动条Slider,改变刻度时,相应的标签元素中的字体的大小就会增加. 这种元素的绑定,要知道谁是目标元素,谁是源元素.比如用滑动条的刻度大小去绑定标签元素中的字体的大小.这里面滑动条的刻度就是源元素,标签字体大小就是目标元素. 在标签元素中字体大小的属性中就可以去直接绑定,绑定语句是: FontSize="{Binding ElementName=slider1,Path=Value} 解释:Binding Ele

ps6—如何安装笔刷

关于笔刷的介绍: ps笔刷是Photoshop软件中画笔的笔头形状,通过photoshop笔刷的载入功能,就能刷出各种不同的效果来,如眼睫毛,天使翅膀等. 在ps中使用到的工具: 载入笔刷的步骤: 1.下载自己想载入的笔刷 个人认为不错的而且经常使用的下载地址:http://www.missyuan.net/school/material/brush/ http://www.68ps.com/gongju/ http://www.psjia.com/pssc/brush/ http://www.

ZBrush&#174;中2.5D笔刷使用

ZBrush® 是一个数字雕刻和3维建模软件,它不仅有着强大的3D雕刻功能,对于2.5D笔刷的应用也毫不逊色.本文主要讲解2.5D笔刷的一些使用方法,2.5D笔刷是针对贴图绘画的增效画笔工具和其他一些工具,例如: FiberBrush(光纤笔刷):可以画出草丛般的效果. HighlighterBrush(高光笔刷):可以提亮色调. SimpleBrush(简单笔刷):可以绘制颜色,也可以进行简单的雕刻. 因为2.5D笔刷和3D模型关系不大,在三维应用领域应用不多,所以不做过多讲解. 下面以Sim