相关疑难解决方法(0)

如何在Silverlight中的Border元素上创建虚线边框?

如何使这个Border Silverlight元素的底部边框在红色线内部有一个红色

Border border = new Border();
border.CornerRadius = new CornerRadius(5);
border.BorderThickness = new Thickness(0, 0, 0, 1);
border.BorderBrush = new SolidColorBrush(Colors.Red);
Run Code Online (Sandbox Code Playgroud)

.net c# silverlight border dotted-line

7
推荐指数
2
解决办法
1万
查看次数

TreeViewItem扩展时调用命令

听起来很简单?我有一个TreeView,我希望在扩展其中一个节点时发生一些事情.我正在使用MVVM,因此'something'是ViewModel中的命令.

好吧,我发现它毕竟不是那么简单.我环顾四周,尝试了一些事情.例如,使用MVVM Light的EventToCommand:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="TreeViewItem.Expanded">
        <cmd:EventToCommand Command="{Binding Path=FolderNodeToggledCommand}" />
    </i:EventTrigger>
</i:Interaction.Triggers>
Run Code Online (Sandbox Code Playgroud)

此代码(基于)不起作用(没有触发;命令绑定在ViewModel中,但在展开节点时永远不会触发相应的方法).我也试过替换cmd:EventToCommand,i:InvokeCommandAction结果是一样的.第二个链接中的"解决方案"显然有点过分,我不想更改ToggleButton,因为我想使用具有自己的ToggleButton 的WPF TreeView WinForms Style.第二个链接中的第二个答案表明我可能正在尝试在TreeView上使用不存在的事件.

另一种可能的解决方案是绑定TreeViewItem的IsExpanded属性.但是我想将我绑定的对象保持为干净的DTO并在ViewModel中执行操作,而不是在绑定的对象中执行.

那么当TreeViewItem扩展时,如何在ViewModel中调用命令呢?

c# wpf treeview mvvm treeviewitem

6
推荐指数
1
解决办法
4037
查看次数

调整WPF TreeView的下拉箭头边距

我有一个TreeView简化定义为

<TreeView ItemsSource="{Binding TreeItems}">
    <TreeView.Resources>
        <DataTemplate DataType="{x:Type models:MyModel}">
            <Border Margin="{Binding Margin}" >
                 <Grid>
                     <TextBlock Text="{Binding Path=Name}" Margin="3,3,3,3" />
                 </Grid>
            </Border>
        </DataTemplate>
    </TreeView.Resources>
</TreeView>
Run Code Online (Sandbox Code Playgroud)

看起来像这样

树

正如您所看到的,由于边距是可变的,因此项目之间存在空间.问题是下拉箭头.它不以元素为中心.好吧,它集中在忽略边距的元素上.如何调整箭头?

c# wpf treeview xaml

5
推荐指数
2
解决办法
1098
查看次数

标签 统计

c# ×3

treeview ×2

wpf ×2

.net ×1

border ×1

dotted-line ×1

mvvm ×1

silverlight ×1

treeviewitem ×1

xaml ×1