gpt4 book ai didi

可见性绑定(bind)失败

转载 作者:行者123 更新时间:2023-12-01 00:57:01 26 4
gpt4 key购买 nike

我尝试将 Visibility 插件与 FieldBinding 插件一起使用,但没有成功。

模型侧:

    /// <summary>
/// Gets or sets the birthdate.
/// </summary>
/// <value>
/// The birthdate.
/// </value>
public DateTime? Birthdate { get; set; }

ViewModel 方面:
public class DisplayUserViewModel : BaseUserViewModel
{
/// <summary>
/// The user
/// </summary>
public readonly INC<User> User = new NC<User>();
}

查看端,先试试:
        <RelativeLayout
android:layout_width="wrap_content"
android:layout_height="@dimen/ListIconTwoLineTileHeight"
android:paddingRight="@dimen/ListIconTwoLineTextMarginRight"
local:MvxBind="Visibility User.Birthdate, Converter=Visibility">

第二次尝试:
        <RelativeLayout
android:layout_width="wrap_content"
android:layout_height="@dimen/ListIconTwoLineTileHeight"
android:paddingRight="@dimen/ListIconTwoLineTextMarginRight"
local:MvxBind="Visibility Visibility(User.Birthdate)">

但同样的结果:
MvxBind ( 2574):  33.60 Failed to create target binding for binding Visibility for MvxValueConverterValueCombiner combiner-operation

我只是以生日为例,但是每个可见性绑定(bind)都失败了(我有 x 个绑定(bind)的 x 错误消息)。

编辑 1

其他绑定(bind)工作,我绑定(bind)一堆文本,都显示良好:
      <TextView
style="@style/TextView.ListWithIcon.Single"
android:layout_marginTop="@dimen/ListIconTwoLineTextMarginTop"
local:MvxBind="Text User.FirstName" />

我也尝试绑定(bind)到 INPC 属性,结果相同。

编辑 2

正如斯图尔特所建议的,我尝试了这个:
<TextView
style="@style/TextView.ListWithIcon.Single"
android:layout_marginTop="@dimen/ListIconTwoLineTextMarginTop"
android:layout_marginLeft="@dimen/ListIconTextMarginLeft"
local:MvxBind="Text Visibility(User.Birthdate)">

如果 Birthdate 为空,TextView 上的可见性转换器似乎可以工作:
Birthdate:  Gone

但它似乎没有绑定(bind)到可见性属性:
<TextView
style="@style/TextView.ListWithIcon.SecondLine"
android:layout_below="@+id/Birthday"
local:MvxBind="Visibility Visibility(User.Birthdate)"
android:text="Whatever birthdate" />

显示“无论生日”,而 Visibility(User.Birthdate) 返回 Gone...

编辑 3

如果您使用 Visible 伪属性,一切都会按预期工作。
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="@dimen/ListIconTwoLineTileHeight"
android:paddingRight="@dimen/ListIconTwoLineTextMarginRight"
local:MvxBind="Visible User.Birthdate">

最佳答案

我对 LinearLayout 有同样的问题:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:background="@color/white"
local:MvxBind="Visibility Visibility(IsLoading)">

LinearLayout 的可见性不会绑定(bind)到我的 View 模型:

Failed to create target binding for binding Visibility for MvxValueConverterValueCombiner combiner-operation



解决方案:向 LinkerPleaseInclude.cs 添加一个条目,这样 Visibility 属性就不会从 View 中剥离:
public void Include(LinearLayout layout)
{
layout.Click += (s, e) => layout.Visibility = layout.Visibility - 1;
}

关于可见性绑定(bind)失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913649/

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