私は遅延ロードを行っているTreeviewを持っています。私はMVVMを使用しました。私は、アプリケーションの起動時に、デフォルトでツリーのトップノードを選択したかったのです。ツリービューでデフォルトでトップノードを選択するwpf MVVM
1
A
答えて
1
これを行う最も簡単な方法は、IsSelected
プロパティでスタイルを使用している:
<Style x:Key="SelectableTreeViewItem" TargetType="TreeViewItem">
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
</Style>
その後、あなたのモデルで、またはより具体的に、あなたのトップレベルのノードのために特異的に結合するオブジェクトにこのプロパティを公開します。
public class MyTopLevelFoo
{
public bool IsSelected { get; set; }
}
...としたときに最初に負荷をtrueに設定します。私はより良い方法があると思い
IsSelected = true;
2
...ただ、System.Windows.Controlsから継承するクラスをceate。 TreeViewをオーバーライドし、OnItemsChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)をオーバーライドします。この方法では、次のコードを入力します。
if (base.SelectedItem == null)
{
if(base.Items.Count != 0)
{
(base.ItemContainerGenerator.ContainerFromItem(base.Items[0]) as TreeViewItem).IsSelected = true;
}
}
base.OnItemsChanged(e);
これだけです。
0
ただLoadedイベントに使用
private void tvComponents_Loaded(object sender, RoutedEventArgs e)
{
(tvComponents.ItemContainerGenerator.ContainerFromIndex(0) as TreeViewItem).IsSelected = true;
}
関連する問題
- 1. WPF MVVMツリービュー
- 2. WPF MVVM - ツリービュー内の項目
- 3. WPF MVVM ComboBoxタグの選択
- 4. デフォルトの選択値を持つWPF MVVM ComboBox
- 5. 剣道ツリービューのトップノードにスクロール
- 6. ツリービューで右クリックしてノードを選択MVVM
- 7. MFCのデフォルトのツリービュー項目を選択
- 8. MVVMツリービューでIsFocused
- 9. WPF - MVVM Treeview選択項目を取得
- 10. WPFツリービューでMVVMを実装する方法は?
- 11. wpfでテキストボックスを選択する方法MVVM
- 12. WPFツリービューで選択したアイテムが漏洩しています
- 13. WPFツリービューで「バブル」を選択することを拒否する方法は?
- 14. 選択したアイテムを表示wpf mvvmでバインド
- 15. WPFのツリービューの選択項目を変更します
- 16. Delphi:ツリービューで選択項目の選択を解除します
- 17. wpfツリービューのブルース。アイテムを選択したい
- 18. ストーリーボードをWPFで選択する
- 19. WPF DataGrid:最初の行の選択をデフォルトでキャンセルします。
- 20. WPF MVVMデータグリッドの選択行を取得します。
- 21. WPFツリービューとデータグリッドの選択が変更されました
- 22. Delphi:ツリービューでの選択のチェック
- 23. gtk_menu_popup()ツリービューの選択を削除する
- 24. ツリービューで選択したアイテムの選択を解除する方法
- 25. ツリービューのノードの再選択
- 26. ツリービュー選択/ボタン機能
- 27. WPFでTreeviewItemを選択
- 28. "デフォルト"の選択項目を表示する方法 - Combobox C#WPF
- 29. 私がツリービューを持っているツリービュー選択した項目
- 30. C#ツリービューselectedNodeの私は手動でツリービューで私のノードを選択し