0

我有一个树视图。它绑定到称为 Nodes 的 ObservableCollection。工具提示上的绑定数据未显示:

<controls:TreeViewEx BorderThickness="0"
                        ItemsSource="{Binding Nodes}"
                        SelectedItemEx="{Binding SelectedTreeNode, Mode=TwoWay}">

        <controls:TreeViewEx.ToolTip>

            <Grid>

                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>

                <Image Grid.Row="0"
                        Grid.Column="0" 
                        Source="/FMG.UI.WPF;component/Media/Images/job_128.png"
                        Height="16"
                        Width="16"/>

                <TextBox Grid.Row="0"
                            Grid.Column="1"
                            Text="Job: "
                            FontWeight="Bold"/>

                <TextBox Grid.Row="0"
                            Grid.Column="2"
                            Text="{Binding ToolTipHeader}"/>

                <Border Grid.Row="1"
                        Grid.Column="0"
                        Grid.ColumnSpan="3"
                        Height="2"
                        BorderBrush="Gray"/>

                <TextBox Grid.Row="2"
                            Grid.Column="0"
                            Grid.ColumnSpan="3"
                            Text="{Binding ToolTipDetails}"/>

            </Grid>

        </controls:TreeViewEx.ToolTip>

</controls:TreeViewEx>

工具提示弹出,但 ToolTipHeader 和 ToolTipDetails 为空白。输出窗口说它在视图模型上找不到它们。如何使绑定看起来在节点上,而不是视图模型上?

4

1 回答 1

0

您可能想移动代码;使用并为TreeView.ItemContainerStyle添加一个,这将设置一个节点级别的工具提示。SetterToolTip

例如

<controls:TreeViewEx.ItemContainerStyle>
    <Style TargetType="controls:TreeViewItemEx"> <!-- Guessing at item type name here -->
        <Setter Property="Tooltip">
            <Setter.Value>
                 <!-- Move your tooltip here -->
            </Setter.Value>
        </Setter>
    </Style>
</controls:TreeViewEx.ItemContainerStyle>

当然DataContext,工具提示中的所有绑定都将是当前项,如果您希望树视图的上下文指定RelativeSource找到它的一个(也可以在 上添加“DataContext” Path,否则您直接绑定到树上的属性-看法)。

于 2013-01-29T04:51:55.223 回答