我想显示元素样式(非编辑模式)的工具提示 DataGridComboxColumn . 我一直没能想出一个好办法。在下面的示例中,我可以显示工具提示,也可以通过更改 显示 属性设置为“真”或“假”。我无法在不编辑时同时显示工具提示并允许启动编辑模式。当命中测试为真时,工具提示工作。当命中测试为假时,组合框将下拉。
获取编辑和工具提示的最佳方法是什么?
<Window x:Class="WpfApplication2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False" > <DataGrid.Columns> <DataGridComboBoxColumn Header="Yo"> <DataGridComboBoxColumn.ElementStyle> <Style TargetType="{x:Type ComboBox}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ComboBox"> <TextBlock Text="{TemplateBinding Text}" IsHitTestVisible="False" ToolTip="Yo"/> </ControlTemplate> </Setter.Value> </Setter> </Style> </DataGridComboBoxColumn.ElementStyle> </DataGridComboBoxColumn> </DataGrid.Columns> </DataGrid> </Grid> </Window> using System; using System.Collections.Generic; using System.Windows; namespace WpfApplication2 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new List<string> { "Hello" }; } } }
尝试使用DataGridTemplateColumn并将IsreadOnly=“false”添加到DataGrid中
... <dg:DataGrid.Columns > <dg:DataGridTemplateColumn > <dg:DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding something}"> <ToolTip Content="Write something here" /> </TextBlock> </DataTemplate> </dg:DataGridTemplateColumn.CellTemplate> </dg:DataGridTemplateColumn> <dg:DataGrid.Columns > ...