星空网 > 软件开发 > ASP.net

WPF多源绑定

将控件绑定到多个数据源,ListBox绑定到一个集合,其中每一项绑定到集合中对象的两个属性,并对绑定进行了格式化。

<ListBox ItemsSource="{StaticResource MyData}" IsSynchronizedWithCurrentItem="True">       <ListBox.ItemTemplate>        <DataTemplate>          <TextBlock>             <TextBlock.Text>              <MultiBinding StringFormat="{}{0} -- Now only {1:C}!">               <Binding Path="Description"/>               <Binding Path="Price"/>              </MultiBinding>              </TextBlock.Text>          </TextBlock>        </DataTemplate>      </ListBox.ItemTemplate>  </ListBox>

多源绑定的自定义值转换。下面TextBlock控件绑定到NameListData集合中的一项,当集合中的某个对象被选择后,该对象的两个属性同自定义转换器转换为显示值,对象的两个属性分别是FirstName和LastName,通过转换器,控件显示完整的姓名。这类似上述的多源绑定的格式化,但转换器可以接受参数,因此更灵活,此处,可以通过参数控制FirstName和LastName的显示顺序。

<TextBlock Name="textBox1" DataContext="{StaticResource NameListData}">   <TextBlock.Text>    <MultiBinding Converter="{StaticResource myNameConverter}" ConverterParameter="FormatNormal">      <Binding Path="FirstName"/>      <Binding Path="LastName"/>    </MultiBinding>    </TextBlock.Text>  </TextBlock>

下面是自定义转换器的实现,该类必须实现接口IMultiValueConverter,其中Convert实现数据源到控件方向的转换,而ConvertBack相反:

public class NameConverter : IMultiValueConverter  {    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)    {      string name;      switch ((string)parameter)      {        case "FormatLastFirst":          name = values[1] + ", " + values[0];          break;        case "FormatNormal":        default:          name = values[0] + " " + values[1];          break;      }      return name;    }    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)    {      string[] splitValues = ((string)value).Split(' ');      return splitValues;    }  }




原标题:WPF多源绑定

关键词:wpf

wpf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

快递发泰国:https://www.goluckyvip.com/tag/88507.html
发快递泰国:https://www.goluckyvip.com/tag/88508.html
发泰国快递:https://www.goluckyvip.com/tag/88509.html
快递转泰国:https://www.goluckyvip.com/tag/88510.html
泰国 运输:https://www.goluckyvip.com/tag/88511.html
广东泰国物流:https://www.goluckyvip.com/tag/88512.html
九月初新疆旅游服装搭配(新疆游玩必备衣服清单):https://www.vstour.cn/a/408257.html
黄果树瀑布景区景点 - 黄果树瀑布景区景点分布图:https://www.vstour.cn/a/408258.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流