我可以将数据绑定在一个文本块中的两个比例值。
例如,有些事情如下,尽管这不是正确的代码:
<TextBlock Margin="5" Text="{Binding property1,Binding property2}" Style="{StaticResource Style1}" />
我想在一个文本块中显示两个值。
谢谢, Subhendu
答案 0 :(得分:1)
当你使用MVVM时,你通常会创建第三个属性来连接另外两个属性并绑定到那个属性。
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public string Prop3 { get {return string.Format("{0} {1}", Prop1, Prop2); } }
在你的xaml中,你将绑定到Prop3。如果您想要双向绑定,可以为Prop3实现更新Prop1和Prop2的设置器。
干杯, 菲尔
答案 1 :(得分:0)
mmm,AFIK你不能这样做。
但是,你可以通过几种方式做到这一点。一,创建一个Converter,它接收你的对象并返回两个属性
public class Formatter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
// do some stuff with value to get your information
return myvalue;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
//制作转换器的静态资源
<Resources>
<myns:Converter x:Key="MyConverter"/>
</Resource>
//现在在绑定中使用它
第二,你可以像这样嵌套文本块(好吧,也许不是在silverlight中,但在WPF中你可以)...
<TextBlock ...>
<TextBlock .../>
<TextBlock .../>
</TextBlock>