smh*_*kmr 7 .net c# silverlight xaml tooltip
我需要为DataGrid(Silverlight 4)的列标题添加工具提示.我将动态生成列数和列标题文本.
GridColumnCreation(....)
{
IEnumerable allHeaderText = /* Linq query */;
}
Run Code Online (Sandbox Code Playgroud)
如何使用此集合设置工具提示?
Dre*_*kes 26
这可以比@ Farukh的答案更简单地完成:
<data:DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ToolTipService.ToolTipProperty"
Value="Your tool tip here" />
</Style>
</data:DataGridTextColumn.HeaderStyle>
Run Code Online (Sandbox Code Playgroud)
或者,如果您需要在代码中执行此操作:
var style = new Style(typeof(DataGridColumnHeader));
style.Setters.Add(new Setter(ToolTipService.ToolTipProperty,
"Your tool tip here"));
column.HeaderStyle = style;
Run Code Online (Sandbox Code Playgroud)
小智 12
如果它可以帮助任何人.它在使用TooTip属性时有效.
<DataGridTextColumn.HeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="ToolTip" Value="{Binding}"/>
</Style>
</DataGridTextColumn.HeaderStyle>
Run Code Online (Sandbox Code Playgroud)
如果您不想为Header创建新样式,只需为列标题添加TextBlock并在其上设置工具提示.
<DataGridTextColumn>
<DataGridTextColumn.Header>
<TextBlock Text="ColumnA" ToolTip="ColumnA Tooltip"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)
这可以通过使用DataGridTextColumn和DataGridTextColumn.HeaderStyle来完成.在headerstyle标记中,使用ToolTipService并将内容绑定到生成的动态值.这是一个示例代码...
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="First Name" Binding="{Binding FName}" >
<data:DataGridTextColumn.HeaderStyle>
<Style TargetType="dataprimitives:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ContentControl Content="{Binding}">
<ToolTipService.ToolTip>
<ToolTip Content="Tooltip First" />
</ToolTipService.ToolTip>
</ContentControl>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</data:DataGridTextColumn.HeaderStyle>
</data:DataGridTextColumn>
<data:DataGridTextColumn Header="Last Name" Binding="{Binding LName}">
<data:DataGridTextColumn.HeaderStyle>
<Style TargetType="dataprimitives:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ContentControl Content="{Binding}">
<ToolTipService.ToolTip>
<ToolTip Content="Tooltip Second"></ToolTip>
</ToolTipService.ToolTip>
</ContentControl>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</data:DataGridTextColumn.HeaderStyle>
</data:DataGridTextColumn>
<data:DataGridTextColumn Header="City" Binding="{Binding City}">
<data:DataGridTextColumn.HeaderStyle>
<Style TargetType="dataprimitives:DataGridColumnHeader">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<ContentControl Content="{Binding}">
<ToolTipService.ToolTip>
<ToolTip Content="Tooltip Third"></ToolTip>
</ToolTipService.ToolTip>
</ContentControl>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</data:DataGridTextColumn.HeaderStyle>
</data:DataGridTextColumn>
</data:DataGrid.Columns>
</data:DataGrid>
</Grid>
Run Code Online (Sandbox Code Playgroud)
Custdetails ..就是这样的......
class Customer
{
public string LName { set; get; }
public string FName { set; get; }
public string City { set; get; }
}
Run Code Online (Sandbox Code Playgroud)
数据绑定...
List<Customer> customers = new List<Customer>
{
new Customer { LName="Alan", FName="Ameen", City="New York" },
new Customer { LName="Forgeard", FName="Steven", City="Mumbai" },
new Customer { LName="Angur", FName="Paul", City="São Paulo" }
};
dgCustDetails.ItemsSource = customers;
Run Code Online (Sandbox Code Playgroud)
这将显示标题工具提示...使其动态化.将工具提示内容替换为绑定和所需的值...
| 归档时间: |
|
| 查看次数: |
16933 次 |
| 最近记录: |