多属性绑定,并转换类型

例子1:

//暂时不用,多条件转换
  public class CoordinateToMapPoint : IMultiValueConverter
  {
      ////Xaml绑定多个
      //MultiBinding multiBinding = new MultiBinding();
      ////
      //Binding bd1 = new Binding();
      //bd1.Path = new PropertyPath("Jqinfox");
      //bd1.Source = alarm;
      //multiBinding.Bindings.Add(bd1);
      ////
      //Binding bd2 = new Binding();
      //bd2.Path = new PropertyPath("Jqinfoy");
      //bd2.Source = alarm;
      //multiBinding.Bindings.Add(bd2);
      ////
      //multiBinding.Converter = new CoordinateToMapPoint();

      public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
      {
          string strJqinfox = values[0].ToString();
          double dJqinfox;
          double.TryParse(strJqinfox, out dJqinfox);
          //
          string strJqinfoy = values[1].ToString();
          double dJqinfoy;
          double.TryParse(strJqinfoy, out dJqinfoy);
          //
          return new MapPoint(dJqinfox, dJqinfoy);
      }

      public object ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
      {
          throw new NotImplementedException();
      }
  }

 

 

例子2:

<Rectangle Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" Stroke="Black">
<Rectangle.Fill>
<MultiBinding Converter="{StaticResource ResourceKey=rgbConverter}">
<Binding ElementName="slider_R" Path="Value"/>
<Binding ElementName="slider_G" Path="Value"/>
<Binding ElementName="slider_B" Path="Value"/>
</MultiBinding>
</Rectangle.Fill>
</Rectangle>

posted @ 2013-10-17 14:40  长白山  阅读(198)  评论(0编辑  收藏  举报