我在这里开始提出一个问题:WPF将文件从Windows资源管理器拖放到TreeView上,但我发现这是一个完全不同的问题,我认为它是什么.
我有一个非常简单的测试用例.
我正在使用树视图,但如果我使用一个没有代码的简单列表框,只需使用以下xaml
<StackPanel Orientation="Vertical">
<ListBox Height="312" Background="#FFBDD6FF" AllowDrop="True"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
如果我在表达式混合中运行项目并在列表框上拖动一个文件,我会看到箭头和它下方的小方块,这可能会导致拖放.
如果我在visual studio中运行相同的项目并将文件拖到列表框上,我会得到一个带有一条直线的黑色圆圈.
我的计算机或代码可能导致什么问题?
wpf visual-studio-2010 wpf-controls visual-studio expression-blend-4
我试图制作一个非常简单的,或者我认为,程序将文件从桌面/资源管理器拖放到wpf树视图上.
这个例子中的树视图很简单,所以我可以隔离我遇到的拖放问题.我已将AllowDrop设置为整个地方的True,我仍然无法触发Drop或DragOver事件.我专注于树视图控件,因为我希望能够将文件拖动到具有分层结构的不同节点中. 现在,当我将文件拖到树视图上时,我会满足于能够触发DragOver或Drop事件.
我通过查看这样的示例开始:在Treeview中拖放
我的问题与此类似:将浏览器中的文件拖放到Telerik WPF树视图中.但是我使用的是wpf treeview,而不是telerik.
这是我到目前为止的代码
XAML:
<Window x:Class="WpfDragAndDropTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfDragAndDropTest"
Title="MainWindow" Height="350" Width="525">
<Grid>
<TreeView Name="TreeView1">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}" >
<Setter Property="TreeViewItem.AllowDrop" Value="True"/>
<EventSetter Event="TreeViewItem.DragOver" Handler="TreeView1_DragOver" />
<EventSetter Event="TreeViewItem.Drop" Handler="TreeView1_Drop" />
<EventSetter Event="TreeViewItem.MouseMove" Handler="TreeView1_MouseMove" />
</Style>
</TreeView.ItemContainerStyle>
<TreeView.Resources>
<DataTemplate DataType="{x:Type local:TestClass}">
<StackPanel Orientation="Vertical" >
<TextBlock Text="{Binding Path=Title}" />
<TextBlock Text="{Binding Path=Url}" />
</StackPanel>
</DataTemplate>
</TreeView.Resources>
</TreeView>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using …Run Code Online (Sandbox Code Playgroud) 在测试一个简单的ForEach扩展方法时,我遇到了一个意想不到的结果.
ForEach 方法
public static void ForEach<T>(this IEnumerable<T> list, Action<T> action)
{
if (action == null) throw new ArgumentNullException("action");
foreach (T element in list)
{
action(element);
}
}
Run Code Online (Sandbox Code Playgroud)
Test 方法
[TestMethod]
public void BasicForEachTest()
{
int[] numbers = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
numbers.ForEach(num =>
{
num = 0;
});
Assert.AreEqual(0, numbers.Sum());
}
Run Code Online (Sandbox Code Playgroud)
为什么numbers.Sum()等于55而不是0?
执行以下代码时,我收到 NullReferenceException。我还注意到,当我添加将单元格写入主表的代码时,嵌套表出现在新页面上。如果我取出将单元格写入主表的两个循环,则不会发生这种情况。
<%@ Page Title="" Language="C#" MasterPageFile="~/Main.master" %>
<%@ Import Namespace="iTextSharp.text" %>
<%@ Import Namespace="iTextSharp.text.pdf" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Document doc = new Document(PageSize.LETTER);
// Here is some stuff needed to put the pdf into the users response stream
Response.Clear();
Response.ContentType = "application/pdf";
MemoryStream memoryStream = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream);
writer.CloseStream = false; // This is important, but it may work without it
doc.SetMargins(20, 20, 36, 10); …Run Code Online (Sandbox Code Playgroud) 我无法在任何地方找到很多东西.首先让我说我不想使用旧的Windows窗体.我想在visual studio 2008中为我的Outlook 2007插件项目添加一个新的WPF窗口.但WPF窗口模板却没有显示出来.我正在关注这个教程:http: //msdn.microsoft.com/en-us/library/bb410039.aspx,它甚至还有一张如何在outlook 2007插件中添加新的wpf窗口的图片.唯一的问题是它适用于visual studio 2005.当然,微软并没有从visual studio 2008中删除这个功能.我一定是做错了.
有没有人对我可以从这里去哪里有任何想法或建议?
我也无法使用visual studio 2008在msdn上找到类似的教程,这也很有帮助.
我有一个脚本Web服务,它将从内容管理系统下载并运行linqpad .linq程序.我目前正在做类似下面的代码.有没有办法保存LINQPad.Util.Compile的结果并将其存储在某处,以便我可以使用它直到.linq文件已更改?现在我认为它每次都在重新编译,并产生许多编译文件夹.
public static object DownloadAndRunScript(string scriptFilePath, object args)
{
var compiledScript = LINQPad.Util.Compile(scriptFilePath, true);
var queryExecutorResult = compiledScript.Run(LINQPad.QueryResultFormat.Text, args);
return (object)queryExecutorResult.ReturnValue;
}
Run Code Online (Sandbox Code Playgroud) c# ×4
wpf ×3
linq ×2
wpf-controls ×2
asp.net ×1
foreach ×1
itextsharp ×1
linqpad ×1
outlook-2007 ×1
treeview ×1
vsto ×1