none
关于wpf中定义Style的问题 RRS feed

  • 问题

  • 问大家一问题,在资源中定义wpf控件的style

    其中,我想把Image的source属性绑定到该控件的Name属性,然后用转换器转换,这样写对吗? {Binding Path={TemplateBinding Name}, Converter={StaticResource bottomImageConvert}}

    TemplateBinding Name 绑定到控件的Name属性

    bottomImageConvert是我自己写的一个转换器

    2012年1月6日 7:33

答案

  • 问大家一问题,在资源中定义wpf控件的style

    其中,我想把Image的source属性绑定到该控件的Name属性,然后用转换器转换,这样写对吗? {Binding Path={TemplateBinding Name}, Converter={StaticResource bottomImageConvert}}

    TemplateBinding Name 绑定到控件的Name属性

    bottomImageConvert是我自己写的一个转换器


    如果你是想把Image本身的Name绑到Image自己的Source上,你应该这么写,用RelativeSource:

    <Image Source="{Binding Path=Name, RelativeSource={RelativeSource Mode=Self}, Converter={StaticResource xxxx}}" .../>
    

     

    具体关于 RelativeSource 的用法,详细见:http://msdn.microsoft.com/zh-cn/library/ms743599.aspx

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    2012年1月10日 3:31
    版主

全部回复

  • 这样写不对,首先Binding类的Path属性只能传入字符串,其次TemplateBinding不是这样用,它是用来绑定应用这个模板的控件的属性。正确的写法应为下面这样:

     

    <Image Source="{TemplateBinding Name, Converter={StaticResource bottomImageConvert}" />
    


     


    一切皆可萌化 >_>
    2012年1月7日 12:23
  • 问大家一问题,在资源中定义wpf控件的style

    其中,我想把Image的source属性绑定到该控件的Name属性,然后用转换器转换,这样写对吗? {Binding Path={TemplateBinding Name}, Converter={StaticResource bottomImageConvert}}

    TemplateBinding Name 绑定到控件的Name属性

    bottomImageConvert是我自己写的一个转换器


    如果你是想把Image本身的Name绑到Image自己的Source上,你应该这么写,用RelativeSource:

    <Image Source="{Binding Path=Name, RelativeSource={RelativeSource Mode=Self}, Converter={StaticResource xxxx}}" .../>
    

     

    具体关于 RelativeSource 的用法,详细见:http://msdn.microsoft.com/zh-cn/library/ms743599.aspx

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    2012年1月10日 3:31
    版主
  • 我顺便问下,为什么不能这样?
    <Image Source="{Binding Path=Name, ElementName = xxx, Converter={StaticResource xxxx}}" .../>
    

    Hero
    2012年1月13日 3:16
  • 谢谢你.
    2012年1月30日 1:49