Ros*_*lyn 4 uitextfield mvvmcross xamarin
我正在构建一个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");
Run Code Online (Sandbox Code Playgroud)
在我测试过的任何设备上的调试模式下工作正常.在模拟器上的调试模式下,我得到下面的错误,虽然背景颜色变化很好,但文本颜色不会改变:
MvxBind:警告:66.81无法为AnswerTextColor创建绑定TextColor的目标绑定
在发布模式下它似乎不起作用,因为我的文本颜色保持白色所以我的假设是我也得到相同的错误/警告.有任何想法吗?此外,我尝试将链接器行为从"仅链接SDK程序集"更改为"链接所有程序集",并且在发布模式下也没有任何帮助.
在我最初构建此信息时,还有其他一些信息,我也遇到了这个问题,并在下面的链接中运行:
MvvmCross无法在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 = ""; };
}
Run Code Online (Sandbox Code Playgroud)
这是我的第一个应用程序,所以任何帮助将不胜感激.希望这是我错过的一件容易的事.
所以感谢PaulFarrow关于这一点,但我在发布的链接中做了如下并添加到LinkerPleaseInclude,但是需要将它添加到它
public class LinkerIncludePlease
{
public void Include(UITextField textField)
{
textField.TextColor = textField.TextColor;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1396 次 |
| 最近记录: |