アイテムがアイテムソースに追加されるたびに、データグリッドが下にスクロールして最後のアイテムが表示されるように、データグリッドを設定したいと思います。
データグリッドはデータ テンプレート内にあるため、X:name プロパティを設定してコード ビハインドから直接アクセスすることはできません。
私が念頭に置いているのは、行が追加されたときに発生し、グリッド自体がスクロールする datagrid イベントを使用することです。
これは、私がどのようにセットアップしたかを概説するいくつかの疑似コードです。
UI.XAML 抜粋
<TabControl ItemsSource="{Binding Parents}" x:Name="ProductsTab">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Key}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<DataGrid Margin="5" ItemsSource="{Binding Value.Children}">
<DataGrid.Columns>
<Column Column definitions removed for your sanity/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
UI.XAML.CS 抜粋
public class UI
{
//Thanks to Dr. WPF for the ObservableDictionary class
public ObservableDictionary<string, Parent> Parents {get; set;}
}
親.CS
public class parent
{
public ObservableCollection<Child> Children {get; set;}
}
データグリッドは編集できません。
ご参考までに、「WPF データグリッドで自動スクロールする方法」という投稿を読みましたが、アイテムがデータグリッドのアイテムソースに追加されるたびに発生するイベントを見つけることができれば、その投稿のコードが機能します。
何か案は?