none
win8 binding问题 RRS feed

  • 问题

  • 如下代码,为什么我这个会没效果
    <ListView HorizontalAlignment="Left" Height="419" Margin="530,26,0,0" Name="lv" VerticalAlignment="Top" Width="379">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Vertical">
                            <TextBlock Text="{Binding}" FontSize="20" Foreground="Red"/>
                            <local:MyUserControl Visibility="{Binding ListViewItem.IsSelected, RelativeSource={RelativeSource Mode=TemplatedParent},Converter={StaticResource convert}}"/>
                            <CheckBox IsChecked="{Binding ListViewItem.IsSelected,RelativeSource={RelativeSource Mode=TemplatedParent},Converter={StaticResource convert}}"/>
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
    我上面Visibility="{Binding RelativeSource, Source={RelativeSource Mode=TemplatedParent},Converter={StaticResource convert}为啥没作用呀
    2012年12月21日 8:50

答案

  • 因为你的TemplateParent不是ListViewItem,也没有这个属性,所以binding不会工作,如果你想要Converter工作,你可以把ListViewItem.IsSelected去掉,不设置path就工作了,不过这样没什么实际意义,因为当你选择ListViewItem的时候,这个绑定不会更新。


    Sheldon _Xiao
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年12月25日 10:11