gpt4 book ai didi

wpf - VM中的Usercontrol事件或MVVM中的View

转载 作者:行者123 更新时间:2023-12-03 10:21:56 26 4
gpt4 key购买 nike

我在应用程序中使用MVVM模式。我在处理Usercontrol事件时遇到一些问题。

我有一个名为DatePicker的用户控件,其中包含两个文本框(用于开始日期和结束日期),以及一个按钮,用于从模型中获取特定日期范围的数据。

当我聚焦任何文本框时,我需要更改其边框颜色(例如绿色)。当用户再次输入错误的日期值时,我需要使用红色更改边框颜色。

如果用户输入错误的日期值,那么我也需要禁用该按钮。

处理这些事件的最佳实践是什么?

提前致谢。

注意:我以如下方式修改了应用程序:用户也可以手动输入日期,当开始日期文本框被聚焦时,日历将显示为弹出式菜单,当他/她再次聚焦结束日期文本框时,将显示日历。阻止在开始日期文本框中选择/键入的日期。

抱歉,后期编辑。

最佳答案

如果您需要基于来自用户的无效数据来更新UI的外观,则应查看Data Validation。这是关于该主题的另一个useful link

若要将边框颜色更改为绿色,应考虑使用样式。不幸的是,我目前无法为您进行测试,但是您应该查看FocusVisualStyle属性。

MSDN文档说:

Gets or sets a property that enables customization of appearance, effects, or other style characteristics that will apply to this element when it captures keyboard focus.



希望有帮助!在安装了VS的计算机上,我将尝试查看是否可以通过使用 FocusVisualStyle属性获得一个不错的示例。我还没有用过,所以这应该很有趣。 :o)

编辑:

好的,因此对于“焦点突出,突出显示 TextBox边框绿色”,您可以使用与此非常相似的样式。
   <Window.Resources>
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="Green" />
<Setter Property="BorderThickness" Value="2" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>

我将 BorderThickness增加到2,因此更改为绿色会更加明显。

关于wpf - VM中的Usercontrol事件或MVVM中的View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7055318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com