gpt4 book ai didi

wpf - 从整数天数绑定(bind)到显示值和单位(天、周、月)的 WPF UserControl

转载 作者:行者123 更新时间:2023-12-03 10:16:11 27 4
gpt4 key购买 nike

在我们遵循 MVVM 模式的 WPF 应用程序中,ViewModel 中有一个属性,它是一个表示天数的整数值。我们想在 WPF 中以这样的模式呈现这个值:它应该包含一个 TextBox和一个 ComboBox ,其中 TextBox 中的文本表示时间的值和ComboBox中的值代表单位。例如,属性值 5 将显示为 [5][Day],而值 14 将显示为 [2][Week]。这应该是双向绑定(bind),因为我们希望用户也可以修改它。当然这样的映射不是一一对应的,14也可以表示为[14][Day]。但原则是更大的单元具有更高的优先级。

现在奇怪的是我什至不知道从什么开始,尤其是当我想关注 MVVM 时。因为我只有一个绑定(bind)到目的地的值。而且既然是这么简单的值,那么创建一个类作为这样的UserControl的DataContext是没有意义的

任何人都可以给我一些提示吗?谢谢!

最佳答案

所有这些工作都应该在 ViewModel 中完成,将初始整数属性设为私有(private),添加两个新属性 UnitsCountUnitsType .

private UnitsTypeEnum unitsType = UnitsTypeEnum.Days;
private int unitsCount = 0;

public int UnitsCount
{
get { return unitsCount; }
set
{
/* set the number of days based on this new value and UnitsType */
unitsCount = value;
NotifyPropertyChanged("UnitsCount");
}
}

public UnitsTypeEnum UnitsType
{
get { return unitsType; }
set
{
/* set the number of days based on this new value and UnitsCount */
unitsType = value;
NotifyPropertyChanged("UnitsType");
}
}

现在确保在构造函数中正确初始化 UnitsCountUnitsType首次置业。

关于wpf - 从整数天数绑定(bind)到显示值和单位(天、周、月)的 WPF UserControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22983077/

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