- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 MVVM 应用程序中,我有一个树 View ,应该在选择时将树 View 项带入 View 。树 View 表示数据库中的记录。每个树 View 项通过在选择时展开项来按需加载其子项。
树 View 样式定义如下:
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="OverridesDefaultStyle" Value="True"/>
...
<EventSetter Event="Selected" Handler="OnTreeViewItemSelected"/>
private void OnTreeViewItemSelected(object sender, RoutedEventArgs e)
{
if (!Object.ReferenceEquals(sender, e.OriginalSource))
{
return;
}
TreeViewItem item = e.OriginalSource as TreeViewItem;
if (item != null)
{
EventHandler eventHandler = null;
eventHandler = new EventHandler(delegate
{
treeData.LayoutUpdated -= eventHandler;
item.BringIntoView();
});
treeData.LayoutUpdated += eventHandler;
}
}
public bool IsSelected
{
get { return _isSelected; }
set
{
if (value != _isSelected)
{
_isSelected = value;
if (value == true)
IsExpanded = value;
this.OnPropertyChanged("IsSelected");
}
}
}
public bool IsExpanded
{
get { return _isExpanded; }
set
{
if (_isExpanded == value)
return;
_isExpanded = value;
this.OnPropertyChanged("IsExpanded");
if (_isExpanded &&
_parent != null &&
_parent.IsExpanded == false)
_parent.IsExpanded = true;
LoadChildren();
}
}
最佳答案
this可能会解决你的问题
并建立在 this关于将 MVVM 用于 TreeView 的文章
编辑:
还有可能您的 treeviewitemcontainers 尚未创建。那么你必须摆弄 TreeViews ItemContainerGenerator
关于wpf TreeViewItem BringIntoView 并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5116650/
我在事件处理程序后面有这段代码: private void comboActiveStudentAssignmentType_SelectionChanged(object sender, Selec
在 WPF 中,我有一个带有 7 个不同组框的滚动查看器。每个组框都是它自己的不同形式的单独部分。由于滚动查看器太长,我在面板左侧的堆栈面板中放置了一系列按钮,并完成了代码隐藏,以便单击按钮触发相应组
在我的 MVVM 应用程序中,我有一个树 View ,应该在选择时将树 View 项带入 View 。树 View 表示数据库中的记录。每个树 View 项通过在选择时展开项来按需加载其子项。 树 V
背景:我在 ScrollViewer 中定义了一个 usercontrol 以及一个 ContentControl,ContentControl 将始终可见,其中有一个Button,当点击按钮时会将u
我想加载大的 .rtf 文件并滚动到其中的特定段落。 所以我做了这样的事情: private FlowDocument GenerateDocument(string path) {
当您在 WPF 中的 TreeView 上设置 VirtualizingStackPanel.IsVirtualizing="True" 时: 调用 Tree
我希望用户能够在 TreeView 中搜索项目。输入搜索文本后,TreeViewItem 应滚动到 View 中。 现在我正在为 TreeView、TreeViewItems 和 MainView 使
我是一名优秀的程序员,十分优秀!