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 を持っていませんし、取得する予定もありません。ありがとう、それだけです。