Mvvmcross:无法为绑定TextColor创建目标绑定



我正在构建一个Xamarin ios应用程序,已经测试了一段时间,但在发布模式下测试时遇到了问题。当用户开始在文本字段中键入答案时,我会更改文本字段的背景颜色和文本颜色。这是我的代码:

set.Bind (currencyText).For (x => x.BackgroundColor).To (vm => vm.AnswerViewColor).WithConversion ("NativeColor");
set.Bind (currencyText).For (x => x.TextColor).To (vm => vm.AnswerTextColor).WithConversion ("NativeColor");

在调试模式下,我测试过的任何设备都可以正常工作。在模拟器的调试模式下,我得到了下面的错误,尽管背景颜色变化很好,但文本颜色没有改变:

MvxBind:警告:66.81无法为绑定AnswerTextColor 的TextColor创建目标绑定

在发布模式下,它似乎也不起作用,因为我的文本颜色保持为白色,所以我的假设是我也收到了同样的错误/警告。有什么想法吗?此外,我还尝试将我的链接器行为从"仅链接SDK程序集"更改为"链接所有程序集",这在发布模式下也没有任何帮助。

只是一些其他信息,当我最初构建这个时,我也遇到了这个问题,并运行了下面的链接:

MvvvmCross无法在iPhone 上为EditingDidBegin创建目标绑定

所以我在下面添加了这个,它在很大程度上解决了我的问题,但导致了我现在的处境。

例如,包含一个文件https://github.com/slodge/NPlus1DaysOfMvvmCross/blob/master/N-38-Maps/Mappit.Touch/LinkerPleaseInclude.cs使用类似的方法

public void Include(UITextField textField)
{
    textField.Text = textField.Text + "";
    textField.EditingChanged += (sender, args) => { textField.Text = ""; };
    textField.EditingDidBegin += (sender, args) => { textField.Text = ""; };
    textField.EditingDidBegin -= (sender, args) => { textField.Text = ""; };
}

这是我的第一个应用程序,所以任何帮助都将不胜感激。希望这是我错过的一件容易的事情。

所以感谢PaulFarrow,但我在发布并添加到LinkerPleaseInclude的链接中做了如下操作,但也需要将其添加到中

public class LinkerIncludePlease
{
     public void Include(UITextField textField)
     {
         textField.TextColor = textField.TextColor;
     }
}

最新更新