[英]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.