TreeViewItemで`ItemContainerGenerator.ContainerFromItem`が取得できない場合
1635 ワード
ユースケース
XAMLのコンストラクタレベルで、TreeViewにアクセスしてExpandやSelectをしたい場合。
問題
TreeView.ItemContainerGenerator.ContainerFromItem
でContainerから情報を解決しようとしても、常にnull
が返ってきてしまい、処理できない。
対応策
BeginInvoke
を使って処理を後ろに回せばいいようです。
TreeViewItem.Dispatcher.BeginInvoke(() =>
{
TreeViewItem item = TreeView.ItemContainerGenerator.ContainerFromItem(TreeView.Items[0]) as TreeViewItem;
// TreeViewの操作...
});
おまけ
そういえば、Flexでも同じような事を苦肉の策でしたような。
参考
Author And Source
この問題について(TreeViewItemで`ItemContainerGenerator.ContainerFromItem`が取得できない場合), 我々は、より多くの情報をここで見つけました https://qiita.com/hikaruworld@github/items/1d1840859dc1bf538d8a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .