Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <TreeView ItemsSource="{Binding Nodes}">
- <TreeView.ItemTemplate>
- <HierarchicalDataTemplate DataType="{x:Type local:INode}" ItemsSource="{Binding Nodes}">
- <TextBlock Margin="2" Text="{Binding Path=Name}" />
- </HierarchicalDataTemplate>
- </TreeView.ItemTemplate>
- </TreeView>
- public class MainViewModel : ViewModelBase
- {
- #region Private Fields
- private readonly IDataService _dataService;
- private INode _selectedNode;
- #endregion Private Fields
- #region Public Constructors
- /// <summary>
- /// Отправная точка, главная ViewModel.
- /// </summary>
- public MainViewModel(IDataService dataService)
- {
- Contract.Assert(dataService != null);
- _dataService = dataService;
- }
- #endregion Public Constructors
- #region Public Properties
- public List<INode> Nodes { get; private set; }
- public INode SelectedNode
- {
- get { return _selectedNode; }
- set
- {
- if (_selectedNode != value)
- {
- _selectedNode = value;
- RaisePropertyChanged();
- }
- }
- }
- #endregion Public Properties
- }
- public interface INode
- {
- #region Public Properties
- string Name { get; }
- List<INode> Nodes { get; }
- #endregion Public Properties
- }
Add Comment
Please, Sign In to add comment