Как я могу отобразить кнопку в 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.Спасибо, вот и все.