我正在开发一个windows8应用程序,其中我有一个网格来显示项目列表。每行都有一个文本框来获取一些输入,当我在一行文本框中输入任何值然后向下滚动然后其他行(从底部向上滚动)自动在文本框中设置相同的值。这导致问题,因为我在后面的代码中得到了不需要的行。
知道这是什么以及如何处理它?</ p>
下面是它的样子 - 看,我在第3行和第6行已经有价值。
答案 0 :(得分:1)
确保您的绑定是在TwoWay上
<TextBox Text="{Binding MyProperty, Mode=TwoWay}"/>
答案 1 :(得分:0)
我注意到虚假值只在文本框中可见,但它没有在模型中更新,我能够通过ValueConverter处理它。
public class DefaultQtyConverter : IValueConverter
{
object val;
public object Convert(object value, Type targetType, object parameter, string language)
{
try
{
if (((<Your Model>)value).<property to check> == 0)
val = String.Empty;
else
val = ((<Your Model>)value).<property to check>;
}
catch { }
return val;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
希望这有助于将来的某些人。