none
WinRT 中数据绑定使用转换器时,ConverterParameter如何传递一个当前页面的控件为参数? RRS feed

  • 问题

  • 1、<Border Name="border" VerticalAlignment="Center" HorizontalAlignment="Stretch" Grid.Row="0" Grid.Column="1" Height="16" Background="Transparent"/>
                                                <Border Width="{Binding VM.VendorState.startfivescale,Converter={StaticResource ControlWidthOrHeightConverter},ConverterParameter={Binding RelativeSource={Binding ElementName=border}}}" Tag="111"
                                                        VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="1" Height="16" Background="{StaticResource CustomPhoneAccentBrush}"/>

    2、Width="{Binding VM.VendorState.startfivescale,Converter={StaticResource ControlWidthOrHeightConverter},ConverterParameter={Binding ElementName=border}}"

    以上两种方法在转换器中 parameter 都为空,
    Width="{Binding VM.VendorState.startfivescale,Converter={StaticResource ControlWidthOrHeightConverter},ConverterParameter=abc}"如果我这样写一个字符串在转换其中是可以获取到abc的。如果我要传递一个当前页面的控件或者控件的某一个属性,应该怎么写?

    2015年4月15日 5:01

答案

  • 你好,

    据我所知,ConverterParameter属性不能直接利用binding去绑定一个控件或某一个属性,因为它不是一个依赖属性。你可以通过在转换器类中添加一个依赖属性,然后去绑定它来回避这个问题。下面的博客具体例举了如何做的过程,我推荐你看一看,http://blogs.msdn.com/b/mim/archive/2013/03/11/tips-winrt-converter-parameter-binding.aspx

    希望能够帮到你。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2015年4月16日 5:27