我必须在这里做一些愚蠢的事情但是当我点击UserControl时我无法触发MouseDown事件.疯了.
这是UserControl的XAML:
<UserControl x:Name="cusTextBox" x:Class="StoryboardTool.CustomTextBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300" MouseDown="cusTextBoxControl_MouseDown">
<Grid>
<RichTextBox x:Name="richTextBox">
<RichTextBox.ContextMenu>
<ContextMenu>
<MenuItem x:Name="ContextMenuBringForward" Header="BringForward" Click="ContextMenuBringForward_Click"/>
<MenuItem x:Name="ContextMenuSendBackward" Header="SendBackward" Click="ContextMenuSendBackward_Click"/>
</ContextMenu>
</RichTextBox.ContextMenu>
</RichTextBox>
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
代码背后:
private void cusTextBoxControl_MouseDown(object sender, MouseButtonEventArgs e)
{
selected = (CustomTextBox)sender;
}
Run Code Online (Sandbox Code Playgroud)
点击用户控件时为什么不会出现此问题?
我有一个画布,您可以在其上添加 UserControls(由图像和文本框组成)
我试图在这些 UserControl 上实现剪切、复制、粘贴功能,因此上下文菜单附加到处理图像的 UserControl 上。用户右键单击此处并从上下文菜单中选择副本,例如我将如何实施以便他们可以将其粘贴到画布上。
谁能指出我正确的方向...
我有一个程序,用户可以创建文本框,并将图像拖放到Windows窗体的面板中,这里用户可以移动图像,调整大小,删除它们等.基本上是一个非常简单的图像编辑器.
我想要做的就是让这项工作像一个非常简单的PowerPoint程序.
我试图弄清楚,如果用户可以保存具有这些图像(在图片框中)和文本框的Panel的内容.然后清除面板并重新开始使用新图像和文本,但返回上一个面板并根据需要进行编辑.
因此,程序中的每个面板基本上都是PowerPoint中的幻灯片.
目前我可以将面板保存为Jpeg,并存储这些,但这样我就无法重新加载面板并编辑内容,就好像它是一个面板一样.
我希望我已经将这种情况解释得可以理解.
我可以做我正在尝试的事情,还是应该以不同的方式解决问题?
无论如何都要删除listView中特定索引处的项目,并用该指定索引处的新项目替换该项目.
我可以打电话 ListView.Items.RemoveAt(index);
但是我无法找到替换该索引处的项目的方法.
这里的任何帮助将非常感激.
是否可以在代码中调用如下所示的事件.
private void Item_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
我要调用它的对象是ListView.Items [listView.Items.Count-1]
XAML
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="PreviewMouseLeftButtonDown"
Handler="ListViewItem_PreviewMouseLeftButtonDown" />
</Style>
</ListView.ItemContainerStyle>
Run Code Online (Sandbox Code Playgroud)
所以我试图调用它看起来像这样,但它不起作用.
Item_PreviewMouseLeftButtonDown(listView.Items[slideListView.Items.Count-1], null);
Run Code Online (Sandbox Code Playgroud)