Silverlight 4 RelativeSource FindAncestor 绑定

Posted

技术标签:

【中文标题】Silverlight 4 RelativeSource FindAncestor 绑定【英文标题】:Silverlight 4 RelativeSource FindAncestor binding [closed] 【发布时间】:2011-01-18 11:28:09 【问题描述】:

Silverlight 4 中会有RelativeSource FindAncestor、AncestorType...吗?

【问题讨论】:

【参考方案1】:

RelativeSource AncestorTypeis supported in Silverlight 5,现已上市。

<TextBlock Text="Binding Name" 
           FontSize="Binding DataContext.CustomFontSize, 
               RelativeSource=RelativeSource AncestorType=UserControl"
/>

【讨论】:

【参考方案2】:

也许您可以将 XMAL 中的 ViewModel 实例化为静态资源,然后将其作为绑定中的源引用。

<UserControl.Resources>
    <vm:MainPageViewModel x:Key="ViewModel"/>
</UserControl.Resources>

<Grid x:Name="LayoutRoot" Background="White" DataContext="Binding Source=StaticResource ViewModel">
    <ListBox ItemsSource="Binding Partitions">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <toolkit:WrapPanel FlowDirection="LeftToRight"  />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Button Margin="10,0" Width="40" Content="Binding" Command="Binding Source=StaticResource ViewModel, Path=ButtonCommand" CommandParameter="Binding"/>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

</Grid>

【讨论】:

【参考方案3】:

这可能会有所帮助:

http://blog.thekieners.com/2010/09/08/relativesource-binding-with-findancestor-mode-in-silverlight/

【讨论】:

【参考方案4】:

在 Silverlight 4 中,BindingRelativeSource 属性仍然只支持“Self”和“TemplatedParent”,这方面与 Silverlight 3 没有任何变化。

【讨论】:

以上是关于Silverlight 4 RelativeSource FindAncestor 绑定的主要内容,如果未能解决你的问题,请参考以下文章

Silverlight 4 RelativeSource FindAncestor 绑定

Silverlight 4:如何切换控件可见性

Silverlight 4 BitmapImage - bmp 文件支持

分析 Silverlight 4

通过 Silverlight 4 获取 MAC 地址

安装silverlight失败原因是啥