WEB开发网
开发学院图形图像Flash Silverlight 2 RTW中ToolTipService.ToolTip不继承... 阅读

Silverlight 2 RTW中ToolTipService.ToolTip不继承父节点的DataContext的问题

 2009-04-14 12:03:56 来源:WEB开发网   
核心提示: 为了使ToolTip能够利用父级的DataContext进行绑定,在http://silverlight.net/forums/p/14241/46745.aspx#46745讨论了在Beta 1下修改ToolTip原代码的方法,Silverlight 2 RTW中ToolTipServ

为了使ToolTip能够利用父级的DataContext进行绑定,在http://silverlight.net/forums/p/14241/46745.aspx#46745讨论了在Beta 1下修改ToolTip原代码的方法。目前我还没有找到Silverlight 2 RTW下对应的Controls完整示例代码,为此,我们可以用一个变通的方式来绕过这个问题。既然直接在ToolTipService.ToolTip="{Binding UserName}" 里能够成功绑定,为了实现复杂的提示信息,我们可以借助Converter来实现:

    <UserControl.Resources>
        <local:Converter x:Name="myConverter" />
    </UserControl.Resources>

    <Grid DataContext="{StaticResource MyUser}">
        <Button Width="100" Height="40" Content="Button" ToolTipService.ToolTip="{Binding UserName,Converter={StaticResource myConverter}}" />
    </Grid>

关键的部分我们在Converter里实现:

    public class Converter : IValueConverter
    {
        #region IValueConverter Members

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value != null)
            {
                var s = value.ToString();
                TextBlock block = new TextBlock();
                block.Text = s;
                block.Style = (Style)Application.Current.Resources["MyTextBlockStyle"];
                return block;
            }
            return null;
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }

可以参考这个帖子:http://silverlight.net/forums/p/84675/197144.aspx#197144

上一页  1 2 3 

Tags:Silverlight RTW ToolTipService

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接