8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何调查 .NET MAUI 控件绑定问题

Zakk 1月前

21 0

我有一个 DateControl 来显示、选择或清除日期值。它有三个组件:显示日期的输入字段;通过弹出窗口选择新日期的日历图像按钮;以及清除...

我有一个 DateControl 来显示、选择或清除日期值。它有三个组件:显示日期的输入字段;日历图像按钮,用于通过弹出窗口选择新日期;以及清除图像按钮,用于清除日期值。

enter image description here

该控件具有 DateTime 类型的 DateValue 可绑定属性,定义如下。

    public static readonly BindableProperty DateValueProperty = BindableProperty.Create(
        propertyName: nameof(DateValue),
        returnType: typeof(DateTime),
        declaringType: typeof(DateControl),
        defaultValue: DateTime.Now,
        defaultBindingMode: BindingMode.TwoWay);

    public DateTime DateValue
    {
        get { return (DateTime)base.GetValue(DateValueProperty); }
        set { base.SetValue(DateValueProperty, value); }
    }

DateValue 属性链接到已转换为字符串的 Entry 字段。

然后我有两个使用 DateControl 的视图。XAML 代码和绑定视图模型属性定义如下,其中转换器来自社区工具包。

第一的:

<controls:DateControl x:Name="dateFilter"
    DateValue="{Binding DateFilter, Converter={StaticResource DateTimeOffsetConverter}}"

[ObservableProperty] 
private DateTimeOffset _dateFilter = DateTimeOffset.MinValue;

第二:

<controls:DateControl x:Name="dateField" Grid.Row="0" Grid.Column="1"
    DateValue="{Binding JournalDate, Converter={StaticResource DateTimeOffsetConverter}}"

[ObservableProperty] 
private DateTimeOffset _journalDate = DateTimeOffset.Now;

第一个示例中的 DateFilter 属性会在 DateControl 值改变时更新。然而,第二个示例中的 JournalDate 属性在 DateControl 值改变时永远不会被修改。

我检查了代码中的差异,并对两者进行了调试。我尝试了相同和各种不同的日期值。我临时添加了属性更改/更改处理程序,试图找出原因,但没有成功。

帖子版权声明 1、本帖标题:如何调查 .NET MAUI 控件绑定问题
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Zakk在本站《xaml》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 你的需求是当第一个DateControl里的日期修改时,第二个DateControl里的日期也同步更新,对吗?

返回
作者最近主题: