繁体   English   中英

WPF 从 Datagrid 列设置工具提示

[英]WPF set tooltip from Datagrid column

如何绑定驻留在数据模板中的控件的工具提示。

<UserControl.Resources>
    <DataTemplate x:Key="PositionAdded">`enter code here`
        <materialDesign:PackIcon x:Name="PositionInd"  Kind="TimerSandEmpty" ToolTip="{Binding XXXX }" HorizontalAlignment="Center"  Foreground="DarkOrange" Width="20" Height="20">
            <materialDesign:PackIcon.DataContext>
                <local:TestClass />
            </materialDesign:PackIcon.DataContext>
        </materialDesign:PackIcon>
    </DataTemplate>
</UserControl.Resources>

我想从侧列值动态绑定上面图标的工具提示。 因此该特定图标的工具提示应显示为“4 到 9”

输出

下面是dataGrid结构:

<DataGrid x:Name="DataGridInvRecord"  SelectedItem="{Binding item,Mode=TwoWay}"  AutoGenerateColumns="False" IsReadOnly="True" >
    <DataGrid.Columns>
        <DataGridTextColumn  Header="#" Binding="{Binding SLNum}" />
        <DataGridTextColumn Header="Matterial" Binding="{Binding FPN}" />                       
        <DataGridTextColumn Header="Category" Binding="{Binding Category}" />
        <DataGridTextColumn Header="Product" Binding="{Binding Product}" />
        <DataGridTextColumn Header="Base" Binding="{Binding Base}"/>
        <DataGridTextColumn Header="Size" Binding="{Binding Size}" />
        <DataGridTextColumn Header="Available" Binding="{Binding Available}" />
        <DataGridTextColumn Visibility="Visible" Header="MinRange" Binding="{Binding MinRange}" />
        <DataGridTextColumn Visibility="Visible" Header="MaxRange" Binding="{Binding MaxRange}" />
        <DataGridTemplateColumn Header="Position" CellTemplateSelector="{StaticResource PositionTemplateSelector}" />
    </DataGrid.Columns>
</DataGrid>

非常欢迎提供完整代码的建议。 谢谢!!

工具提示不是可视树中其关联控件的子级,因此不会继承 DataContext。 要绑定工具提示,您需要通过中间代理类进行绑定,如本文所述。

数据模板应具有作为 DataContext 的项目

<DataTemplate x:Key="PositionAdded">
    <materialDesign:PackIcon Kind="TimerSandEmpty" HorizontalAlignment="Center" Foreground="DarkOrange" Width="20" Height="20">
        <materialDesign:PackIcon.ToolTip>
            <MultiBinding StringFormat="{0}-{1}">
                <Binding Path="MinRange"/>
                <Binding Path="MaxRange"/>
            </MultiBinding>
        </materialDesign:PackIcon.ToolTip>
    </materialDesign:PackIcon>
</DataTemplate>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM