【问题标题】:WPF: Expand the validation rectangleWPF:展开验证矩形
【发布时间】:2010-10-06 22:57:27
【问题描述】:

这是我当前的 XAML。

<StackPanel Orientation="Horizontal" Grid.Column="3" Grid.Row="1">
    <Label Content="Allocated:" FontSize="14"/>
    <Label Content="{Binding AllocatedUnits, Mode=OneWay, ValidatesOnDataErrors=True}" ContentStringFormat="N0" FontSize="14"/>
</StackPanel>

我将如何更改它以使红色验证矩形围绕整个文本而不仅仅是数字。 (我会接受完全丢弃堆栈面板并做其他事情。

【问题讨论】:

    标签: wpf


    【解决方案1】:

    在这种情况下,字符串格式的绑定可能会解决问题,但这在 .NET 3.0 中不可用(如果您仍在使用该版本!)。如果你可以使用它,你只需要一个标签控件(这样你就可以放弃另一个标签 堆栈面板,并且你的验证边框会将所有文本都包裹在剩余的标签中)。

    编辑: 根据 Jonathan 的评论,您似乎需要两个属性才能在内容控件上执行此操作...

    使用类似这样的方式进行绑定:

    Content="{Binding AllocatedUnits, ValidatesOnDataErrors=true}" ContentStringFormat="Allocated: {0}"
    

    MSDN 文档是here

    【讨论】:

    • 既然是标签,就必须使用ContentStringFormat而不是StringFormat。除此之外,它的效果很好。
    • 谢谢乔纳森 - 我已经改变了我的答案。
    • 哦不,ContentStringFormat 不是 Binding 的属性。 (这太有道理了。)相反,它是 Label 本身的一个属性。
    • 查看这里了解更多信息:stackoverflow.com/questions/3826761/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    相关资源
    最近更新 更多