有时我会带有一些标签,其中的内容会随着某些对象的值而动态变化.
字符串虽然是静态的,但是需要根据我的属性进行相应的更改.
一个简单的方法是实现一个转换器,该转换器接收我的对象并返回我想要的字符串.这将导致许多转换器仅执行一项任务,并且不能在不同情况下使用.
我也可以在ViewModel中更改标题->这是更好的方法吗?
解决方法:
在您的视图模型中,您可以这样使用动态标签属性
String DynamicLabel
{
get
{
if ( this.x == 1 )
{
return staticString1;
}
//etc etc
}
}
每当需要更改标签时,您只需致电
OnPropertyChanged("DynamicLabel")
并且您的xaml看起来与这些大致相同
<textblock text="{Binding Path = DynamicLabel , updateSourceTrigger = OnPropertyChanged}"/>