一个WPF组件,用于显示水平或垂直堆栈中的元素列表。
单击 StackPanel 中的“空白区域”时,上下文菜单不会出现
我有一个 HierarchicalDataTemplate,其中包含一些简单的项目,包含在水平 StackPanel 中。 上下文菜单也被分配给根 StackPanel 容器: 我有一个 HierarchicalDataTemplate,其中包含一些简单的项目,包含在水平 StackPanel 中。 上下文菜单也被分配给根 StackPanel 容器: <HierarchicalDataTemplate DataType="{x:Type data:GroupViewModel}" ItemsSource="{Binding Path=Children}"> <StackPanel Orientation="Horizontal" Margin="2" ContextMenuOpening="groupContextMenuOpening"> <StackPanel.ContextMenu> <StaticResource ResourceKey="groupContextMenu" /> </StackPanel.ContextMenu> <Rectangle Width="16" Height="15" Fill="{Binding Converter={StaticResource HierarchyLevelConverter}}" Margin="0 0 3 0" Cursor="Hand" > <i:Interaction.Triggers> <i:EventTrigger EventName="MouseLeftButtonDown" > <GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding SetCurrent}"/> </i:EventTrigger> </i:Interaction.Triggers> </Rectangle> <Image Width="16" Height="15" Source="{Binding Path=GroupState, Converter={StaticResource GroupStateConverter}}" Cursor="Hand" Margin="0 0 3 0"> <i:Interaction.Triggers> <i:EventTrigger EventName="MouseLeftButtonDown" > <GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding ToggleGroupState}"/> </i:EventTrigger> </i:Interaction.Triggers> </Image> </StackPanel> </HierarchicalDataTemplate> 宿主 TreeView 也使用 ContextMenu。 这个想法是,如果右键单击 TreeView 中的某个项目,您将获得它的上下文菜单。 如果您在树视图中的空白处右键单击,您将获得带有较少选项的“默认”上下文菜单。 除了一个奇怪的问题之外,这一切都有效。 正如您所看到的,水平 StackPanel 在图像之间留有边距。如果我右键单击项目之间的空间,则会显示 TreeView 上下文菜单。我希望当我右键单击 StackPanel 本身时,会弹出 HierarchicalDataTemplate 中定义的 ContextMenu。 我发现,如果我为 StackPanel 分配背景颜色,它就可以工作,但如果可能的话,我宁愿避免这种情况。 有什么想法吗? 将Background的StackPanel设置为Transparent,使其在那些空白区域进行命中测试。 将内部嵌入到 . 然后,我将上面的@brunnerh解决方案直接应用到画布上。 它有效。 <ScrollViewer > <Canvas x:Name="Cnvs" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Transparent" /> </ScrollViewer>
另一个有两个堆栈面板。 因此第一个堆栈面板始终可见并且具有条形码。 我希望第二个堆栈面板 x:Name="Verborgen" 的可见性“折叠”具有可见性“
WPF ContextMenuOpening 未在带有 StackPanel 的 TreeViewItem 上触发
在 TreeView 中,我有一个 HierarchicalDataTemplate,TreeViewItem 位于水平 StackPanel 中。 当我右键单击图像或文本块时,会触发 ContextMenuOpening 事件,但是当我...
WPF XAML 中的 ListView 和 StackPanel 有什么区别?
我遇到了显示多个子元素的问题,使用 ListView 时出现水平问题,使用 StackPanel 时出现垂直问题。也许我应该使用另一个集合
我是 xaml 设计的新手,上次我设计一个用户控件时我使用了 Windows 窗体:-( 我习惯于锚定控件并停止,当我调整窗体大小时控件会相应地调整大小。 我在尝试什么...
对于测试软件,我创建了一个窗口并将用户控件作为内容放入其中,现在我试图根据用户名更改用户控件中所有堆栈面板的可见性,我不工作...
如何将自定义控件的ObservableCollection绑定到StackPanel?
我有一个自定义控件对象的ObservableCollection。ObservableCollection MyUIObjects = new ObservableCollection (); 自定义控件是一个用户控件......。
StackPanel.Children.Clear()不能正常工作。
当我删除StackPanel的子代时,我遇到了一个问题。一开始我的StackPanel是空的。我调用一个方法在其中添加11个TextBox。我想在调用这个方法之前删除11个TextBox ...
正如标题所暗示的,当在一个简单的UWP应用程序中点击一个元素时,我正在努力从堆栈面板列表中检索它。堆栈面板的itemsource连接到“ ...
我几乎整夜都在寻找在ListBox底部具有这个漂亮的“添加”按钮的方法。问题是我希望它贴在列表框的底部,然后贴在...
从子级增加添加或删除操作,以在父级StackPanel中添加或删除元素
我正在使用C#和WPF创建具有两个按钮的元素:(+)和(-),此元素是主窗口中堆栈面板的子元素。我需要:删除我单击过的元素(-)添加...
我正在执行一个我想在窗口中显示一些项目的实现,如下所示:--------------------- | | | | | | | ...
我在扩展器上遇到了一些麻烦。我还是WPF的新手,也许我缺少一些重要的东西,但是我不知道是什么。所以我想做的是以编程方式将扩展器添加到Stackpanel,...
WPF ScrollViewer在以编程方式填充的Grid中不起作用
我在xaml中有这种情况 [[[[]
我是开发UWP桌面应用程序的新手。网格无法在自动刷新阶段显示数据。我正在尝试创建一个带有网格的页面,该页面将从数据库中检索数据。加载页面后,...
我有一个带有几何按钮,文本块和两个平面按钮的堆栈面板。即使我给这些元素分别进行单独的水平对齐,它们似乎也都从...
在我的WPF应用程序,我创建与方向=水平一个StackPanel一个DockPanel中。我想补充一些按钮在我的StackPanel(如工具栏),我想可以设置在我的我的最后一个项目...
我正在尝试添加一个功能,当添加网络表中的新键值对时,它将添加带有新数据的新堆栈面板。但是,在运行代码时,使用断点,代码......