【问题标题】:Is it possible to make the background-colour of a Canvas field dependent on its value?是否可以使 Canvas 字段的背景颜色取决于其值?
【发布时间】:2019-04-23 20:09:28
【问题描述】:

我希望一个日期时间字段的背景颜色取决于它的值。就像过了某个日期一样,背景变为红色。 有没有办法在 XAML 中做到这一点?

我知道不可能有“if”条件/指令,但也许你们找到了实现类似功能的方法。

<Canvas Canvas.Left="893" Canvas.Top="208" Height="25" Width="99" Background="red" Panel.ZIndex="-1"/>

 <assembly:FieldControl Canvas.Left="890" Canvas.Top="206" FieldControlType="DateControl" FormField="{x:Null}" Height="25" LabelColumnWidth="0" Refnr="123456789" ShowCaption="False" StateImageAlignment="Hidden" Width="106" FontSize="10" Foreground="DimGray"/>

到目前为止,这是我的代码。 Canvas-Part 使背景变红。 我也尝试将背景属性放在“FieldControl”中,但没有用。

编辑: 得到信息后,Data Binding 可以帮助我解决这个问题,我这样测试它:

    <TextBox  Canvas.Left="890" Canvas.Top="226" Name="Date" Width="99" Height="25" VerticalAlignment="Top" Text="{Binding ElementName=Date, Path = SelectedItem.Content, Mode = TwoWay, UpdateSourceTrigger = PropertyChanged}" Background="{Binding ElementName=Date, Path=SelectedItem.Content}">

但这不是方向,我需要。您有什么建议,我可以如何使用数据绑定来解决我的问题?

【问题讨论】:

    标签: xaml


    【解决方案1】:

    是的,这是可能的。您需要学习的概念是 XAML 数据绑定。

    【讨论】:

    • 感谢您的回答。它有帮助。但是找到正确的代码仍然有点困难。你有什么建议我可以解决我的问题吗?我刚刚找到了文本框的示例,但这并不适合我的问题。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2012-02-07
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多