【问题标题】:add a ToolTip on a DataGridTextColumn在 DataGridTextColumn 上添加工具提示
【发布时间】:2014-11-23 15:28:37
【问题描述】:

我有一个带有一些 DataGridTextColumn 的 DataGrid,如下所示:

<DataGrid x:Name="DonneesBrutes" IsReadOnly="True" ItemsSource="{Binding Path=ResultatCollectionGrande}" Margin="10,65,0,0" AutoGenerateColumns="False" EnableRowVirtualization="True" RowDetailsVisibilityMode="VisibleWhenSelected">
    <DataGrid.Columns>
        <DataGridTextColumn x:Name="PrisEnCompte" Binding="{Binding Path=Flag}" Header="Pris En Compte"></DataGridTextColumn>
        <DataGridTextColumn x:Name="PMRQ" Width="*" Binding="{Binding Path=Pmid}" Header="PMID"></DataGridTextColumn>
        <DataGridTextColumn x:Name="Ligne" Width="40" Binding="{Binding Path=Ligne}" Header="Ligne" IsReadOnly="True"></DataGridTextColumn>
        <DataGridTextColumn x:Name="LibellePMRQ" Width="*" Binding="{Binding Path=LibellePmrq}" Header="Libellé PMRQ">
            <DataGridTextColumn.HeaderStyle>
                <Style TargetType="DataGridColumnHeader">
                    <Setter Property="ToolTip"
        Value="{Binding RelativeSource={RelativeSource Self},
                        Path=Column.(ToolTipService.ToolTip)}"/>
                </Style>
            </DataGridTextColumn.HeaderStyle>
        </DataGridTextColumn>
        <DataGridTextColumn x:Name="OTM" Width="*" Binding="{Binding Path=Otm}" Header="OTM"></DataGridTextColumn>
        <DataGridTextColumn x:Name="TOTM" Width="50" Binding="{Binding Path=Totm}" Header="TOTM"></DataGridTextColumn>
        <DataGridTextColumn x:Name="LibelleTOTM" Width="*" Binding="{Binding Path=LibelleTotm}" Header="Libellé TOTM">
            <DataGridTextColumn.HeaderStyle>
                <Style TargetType="DataGridColumnHeader">
                    <Setter Property="ToolTip"
        Value="{Binding RelativeSource={RelativeSource Self},
                        Path=Column.(ToolTipService.ToolTip)}"/>
                </Style>
            </DataGridTextColumn.HeaderStyle>
        </DataGridTextColumn>
        <DataGridTextColumn x:Name="GA" Width="70" Binding="{Binding Path=GroupeAlerte}" Header="GA"></DataGridTextColumn>
        <DataGridTextColumn x:Name="Discipline" Width="120" Binding="{Binding Path=Discipline}" Header="Discipline"></DataGridTextColumn>
        <DataGridTextColumn x:Name="DisciplineSubstituee" Width="120" Binding="{Binding Path=DisciplineSubstituee}" Header="Discipline Substituée"></DataGridTextColumn>
        <DataGridTextColumn x:Name="Remarque" Width="*" Binding="{Binding Path=.Remarque}" Header="Remarque"></DataGridTextColumn>

    </DataGrid.Columns>
</DataGrid>

当鼠标悬停在我的 DataGridTextColumn LibelleTOTM 上时,我想创建一个弹出窗口。为此,我做了:

<DataGridTextColumn x:Name="LibelleTOTM" Width="*" Binding="{Binding Path=LibelleTotm}" Header="Libellé TOTM">
    <DataGridTextColumn.HeaderStyle>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="ToolTip"
                    Value="{Binding RelativeSource={RelativeSource Self},Path=Column.(ToolTipService.ToolTip)}"/>
        </Style>
    </DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>

我在互联网上找到了这个解决方案,但它不适用于我的解决方案。我已经根据我的情况对此进行了调整,但可能还不够……当鼠标悬停在 LibelleTOTM 上时,什么也没有发生。 TargetType 是不是错了,我不能这样绑定自己吗?我想用 DataGridTextColumn 的值打开一个弹出窗口,所以在ToolTip 中发送我们在&lt;DataGridTextColumn x:Name="LibelleTOTM" Width="*" Binding="{Binding Path=LibelleTotm}" Header="Libellé TOTM"&gt; 上找到的Binding="{Binding Path=LibelleTotm}"

如果有人知道那里缺少什么,出了什么问题,我应该怎么做?

提前致谢。

弗洛。

【问题讨论】:

    标签: c# wpf xaml datagrid datagridtextcolumn


    【解决方案1】:

    HeaderStyle 应用于列标题。除非我在您的问题中遗漏了某些内容,否则您需要像这样针对 DataGridCell 本身。

    <DataGridTextColumn.CellStyle>
        <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
              <Setter Property="ToolTip" Value="{Binding Del_Date, StringFormat=MM/dd/yyyy HH:mm}" />
        </Style>
    </DataGridTextColumn.CellStyle>
    

    【讨论】:

    • 确实,我正在尝试以 DataGridCell 为目标,就像这样。我正在尝试这个解决方案。
    猜你喜欢
    • 2021-12-13
    • 2010-11-12
    • 2011-06-17
    • 2020-08-31
    • 2019-02-02
    • 2020-07-18
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    相关资源
    最近更新 更多