如何DataGridTemplateColumn
仅在选择其行时才在其中显示按钮?我已经尝试过了,但我当然没有IsSelected
可用的。在绑定行的实体上拥有一个属性是没有意义的IsSelected
,即使如此,我也不希望将DataGrid
我的模型与我的模型紧密耦合。无论如何,界面可以自己处理这个问题吗?
这就是我所拥有的:
<sdk:DataGrid Name="_categorySummaryDataGrid"
MinHeight="200"
ItemsSource="{Binding ElementName=_userControl, Path=CategorySummaries}"
AutoGenerateColumns="False" RowDetailsVisibilityMode="VisibleWhenSelected">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="_nameColumn" Binding="{Binding Path=Name}" Header="Name" Width="Auto" IsReadOnly="True" />
<sdk:DataGridTextColumn x:Name="_descriptionColumn" Binding="{Binding Path=Description}" Header="Description" Width="*" IsReadOnly="True" />
<sdk:DataGridTemplateColumn x:Name="_detailsColumn" Width="Auto">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="..." ToolTipService.ToolTip="View Category Details"
Visibility="{Binding Path=IsSelected, Converter={StaticResource BooleanToVisibility}}"/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
出于设计原因,我希望该按钮仅在选择包含它的行时显示。而且,如果可能的话,我希望它在该行被悬停时以不同的方式显示。
Silverlight 和 WPF 似乎有我所希望的更多限制。我希望这些事情是可能的。谢谢。:)
编辑:
我没有,也不会得到 Expression Blend。谢谢,仅此而已。