RowDetailsVisibilityModeが "VisibleWhenSelected"に設定され、SelectionMode = "Extended"に設定されたRowDetailsパネルでWPF Datagridを使用しているため、複数の行を選択してRowDetailsを以下:WPF Datagrid RowDetailsTemplateプロパティにバインドされた可視性
<dg:DataGrid x:Name="MyGrid"
ItemsSource="{Binding Path=MyItems}"
AutoGenerateColumns="True"
SelectionMode="Extended"
RowDetailsVisibilityMode="VisibleWhenSelected">
<dg:DataGrid.RowDetailsTemplate>
<DataTemplate>
<TextBlock Text="Further Details..."/>
</DataTemplate>
</dg:DataGrid.RowDetailsTemplate>
...
</dg:DataGrid>
残念ながら、このアプリケーションのために選択された「行の上の行の詳細を表示するには、直感的ではありませんが、クライアントはRowDetailsペインを表示する行数にあるチェックボックスをクリックしたいと思いますが、また、他の行を選択してグリッドをスクロールします。言い換えると、DataGridで何が起こっても、RowDetailsを表示する行を修正します。
現在、周囲をスクロールすると、開いているRowDetailsPaneが閉じられます。私がしたいのは、列の1つにチェックボックスを入れ、このプロパティにRowDetailsパネルの可視性をバインドすることですが、その方法を理解できません。問題は、単にRowDetailsPaneがデータグリッドの行選択に対してのみ動作することです。選択したプロパティで動作するように拡張できますか?事前に
おかげで、 ウィル
おかげロリー、素敵なソリューション。これはまさに私が欲しかったことです。私はViewModelのプロパティへのバインディングに関して考えるのは間違っていました。これは、単にViewの機能であるため、チェックボックスのclickイベントで動作するメソッドは完璧です。 – WillH
DataGrid Xamlを移動するときに複数の場所に適用する方が簡単で移植性が高いため、Xamlのみのアプローチでは、最初のDataGrid.RowDetailsVisibilityMode = "Collapsed" –