gpt4 book ai didi

wpf - 如何从 XAML 中为样式中的控件指定工具提示?

转载 作者:行者123 更新时间:2023-12-03 21:14:23 24 4
gpt4 key购买 nike

我正在使用 Microsoft CodePlex 项目中的 WPF 数据网格。我有一个自定义控件,我想将数据绑定(bind)到数据网格行中的字段。我一生都无法弄清楚如何在数据网格行上指定工具提示。

我最接近的是使用带有 Setter 的 RowStyle 来设置工具提示,但这似乎只适用于文本。当我尝试将 ControlTempalte 作为 ToolTip 的值时,它会显示在 ControlTemplate 类型上调用 ToString 的结果。

我想我需要设置工具提示的"template"属性,但我似乎无法弄清楚如何做到这一点......

  <dg:DataGrid Name="dgResults" AutoGenerateColumns="True">

<dg:DataGrid.RowStyle >


<Style TargetType="{x:Type dg:DataGridRow}">

<Setter Property="ToolTip" >
<Setter.Value>

<ControlTemplate TargetType="{x:Type ToolTip}">
<StackPanel>
<TextBlock>txt1</TextBlock><TextBlock>txt2</TextBlock>
</StackPanel>
</ControlTemplate>


</Setter.Value>
</Setter>
</Style>

</dg:DataGrid.RowStyle>

</dg:DataGrid>

最佳答案

想通了...花了我大约6个小时...

出于某种原因,我无法直接使用 Value.Setter 设置值。如果我将工具提示的内容定义为静态资源,然后在 DataGrid.RowStyle 的 Style 属性中设置它,它就可以工作。

因此,datagrid 行样式如下所示:

            <Style TargetType="{x:Type dg:DataGridRow}">

<Setter Property="ToolTip" Value="{StaticResource resKWIC}">
</Setter>
</Style>

</dg:DataGrid.RowStyle>

资源是
<Window.Resources>
<StackPanel x:Key="resKWIC">
<TextBlock>f1</TextBlock>
<TextBlock>f2></TextBlock>
</StackPanel>
</Window.Resources>

谢谢!

关于wpf - 如何从 XAML 中为样式中的控件指定工具提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com