2010-02-25 34 views
1

我需要显示依赖于数据库中的值的按钮。例如。如果对象的值为空,则需要显示一个说明创建数据的按钮。如果对象确实有值,我需要显示2个按钮,说更新数据和编辑数据。我试图使用2个转换器。第一个显示正确的创建按钮,但更新和编辑按钮总是显示对象是否有价值。的IValueConverter visibility属性

+0

我试着调试程序和运行的IValueConverter只有当数据出现... – developer 2010-02-25 22:00:50

+0

你能不能告诉我们绑​​定源类? – itowlson 2010-02-25 23:01:05

+0

我正在使用NHibernate绑定。我试图调试应用程序,并正确获得绑定值。 – developer 2010-02-25 23:04:53

回答

1

看起来你有你的数据绑定错误。也许你绑定的name总是空的。你的DataContext是什么?

似乎是没有错的转换器。

+0

我没有检查过,它并不总是空的。就像我有4个记录,其中1个在名称字段中有数据,而其他记录没有。如果我将它绑定到按钮的content属性,它会正确显示它。有没有其他的方式来达到同样的目的? 就像我与上面的代码表示,创建按钮被显示正常,但在更新和编辑没有。是否有可能只使用一个转换器并获得上述功能,而不是像我用过的那样使用2。 – developer 2010-02-26 01:43:58

+0

我得到了正在发生的事情,但我不知道解决方案。 如果记录存在,但名称字段为空,则会正确显示所有内容。但是如果数据库中完全没有记录,它会错误地显示按钮。现在有办法检查数据库中是否存在记录,如果不显示按钮? – developer 2010-02-26 16:32:35

+1

您可以绑定到对象本身,而不是名称:<按钮内容=“编辑”能见度=“{结合转换器= {StaticResource的EditVisibilityConverter}}” />在转换器,你应该得到下面的情况:如果(值= = null){/ *不在数据库中* /} else {Foo foo =(Foo)value;字符串名称= foo.name;返回string.IsNullOrEmpty(名称)? Visibility.Visible:Visibility.Collapsed; } 希望有所帮助。 – Vlad 2010-02-26 16:44:55

相关问题