小编akj*_*shi的帖子

从WPF DataGrid复制粘贴数据时,OpenClipboard失败

我有一个使用datagrid的WPF应用程序.该应用程序运行正常,直到我安装Visual Studio 2012和Blend + SketchFlow预览.现在,当我尝试使用Ctrl+ C(在任何应用程序中)将数据从网格复制到剪贴板时,我得到以下异常:

System.Runtime.InteropServices.COMException (0x800401D0): OpenClipboard Failed (Exception from HRESULT: 0x800401D0 (CLIPBRD_E_CANT_OPEN))
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo)
   at System.Windows.Clipboard.Flush()
   at System.Windows.Clipboard.CriticalSetDataObject(Object data, Boolean copy)
   at System.Windows.Controls.DataGrid.OnExecutedCopy(ExecutedRoutedEventArgs args)
   at System.Windows.Controls.DataGrid.OnExecutedCopy(Object target, ExecutedRoutedEventArgs args)
   at System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
   at System.Windows.Input.CommandManager.ExecuteCommandBinding(Object sender, ExecutedRoutedEventArgs e, CommandBinding commandBinding)
   at System.Windows.Input.CommandManager.FindCommandBinding(CommandBindingCollection commandBindings, Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
   at System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
   at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e) …
Run Code Online (Sandbox Code Playgroud)

c# wpf clipboard datagrid copy-paste

68
推荐指数
4
解决办法
4万
查看次数

在WPF的菜单中放置一条分隔线

在XAML中,如何在菜单中放置标准分割线?

例如

<MenuItem Header="_File" Name="m_fileMenu">
    <MenuItem Header="_Open" Command="ApplicationCommands.Open"/>
    <!-- Trying to put a divider here! -->
    <MenuItem Header="-" />  <!-- Wrong guess -->
    <MenuItem Header="E_xit" Command="ApplicationCommands.Close" />
</MenuItem>
Run Code Online (Sandbox Code Playgroud)

wpf xaml menu

66
推荐指数
2
解决办法
3万
查看次数

如何创建只读依赖属性?

如何创建只读依赖属性?这样做的最佳做法是什么?

具体来说,最让我感到困惑的是没有实施的事实

DependencyObject.GetValue()  
Run Code Online (Sandbox Code Playgroud)

以a System.Windows.DependencyPropertyKey为参数.

System.Windows.DependencyProperty.RegisterReadOnly返回一个D ependencyPropertyKey对象而不是一个DependencyProperty.那么如果你不能对GetValue进行任何调用,你应该怎么访问你的只读依赖属性?或者你应该以某种方式将其DependencyPropertyKey转换为普通的旧DependencyProperty对象?

建议和/或代码将非常感谢!

.net wpf dependency-properties

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

在MVVM模型中该模型应该实现INotifyPropertyChanged接口吗?

我有清晰的思路View,并ViewModel在MVVM模式.我打算在我的应用程序中实现MVVM模式.我正面临关于模型的问题.我有.xml文件,它被解析,信息显示在视图中.

我需要第一次收到有关模型更改的通知.从需求开始我需要得到通知.

那么如何实现该模型呢?

我应该INotifyPropertyChanged在模型类中实现接口吗?(我读过该模型不应该实现INotifyPropertyChanged接口,因为它是WPF特定的)

.net wpf design-patterns mvvm inotifypropertychanged

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

使用Thread.Sleep和Timer进行比较以延迟执行

我有一个方法应该延迟运行指定的时间.

我应该用吗?

Thread thread = new Thread(() => {
    Thread.Sleep(millisecond);
    action();
});
thread.IsBackground = true;
thread.Start();
Run Code Online (Sandbox Code Playgroud)

要么

Timer timer = new Timer(o => action(), null, millisecond, -1);
Run Code Online (Sandbox Code Playgroud)

我读过一些关于使用的文章Thread.Sleep是糟糕的设计.但我真的不明白为什么.

但是对于使用Timer,Timer有配置方法.由于执行延迟,我不知道如何配置Timer.你有什么建议吗?

或者如果你有延迟执行的替代代码也很感激.

c# multithreading sleep timer delayed-execution

56
推荐指数
3
解决办法
6万
查看次数

OAuth提供程序库(Java)

我正在寻找一个帮助我构建OAuth提供程序的Java库.我必须能够接收OAuth签名请求并确定它们是否有效(检查签名,时间戳和现时值).

你知道是否有什么能让这项工作更容易吗?

java oauth consumer scribe

55
推荐指数
3
解决办法
5万
查看次数

如何将新行/回车符插入element.textContent?

虽然听起来很傻,但我还是没有找到合适的答案.

假设我想动态创建一个新的DOM元素,并用JS字符串文字填充其textContent/innerText.
字符串太长了我想把它分成三个块:

var h1 = document.createElement("h1");

h1.textContent = "This is a very long string and I would like to insert a carriage return HERE...
moreover, I would like to insert another carriage return HERE... 
so this text will display in a new line";
Run Code Online (Sandbox Code Playgroud)

问题是,如果我写

h1.textContent = "...I would like to insert a carriage return here... \n";
Run Code Online (Sandbox Code Playgroud)

它不起作用,可能是因为浏览器认为'\n'是纯文本并且显示为纯文本(\ r \n也不起作用).

另一方面,我可以更改h1.innerHTML而不是textContent并写入:

h1.innerHTML = "...I would like to insert a carriage return here...<br />";
Run Code Online (Sandbox Code Playgroud)

这里<br />会完成这项工作,但这样做不仅会取代文本内容,还会取代我h1的所有HTML内容,这不是我想要的.

有没有一种简单的方法来解决我的问题?
我不打算创建多个块元素只是为了让文本在不同的行上.
任何想法将不胜感激.
提前致谢.

javascript string escaping carriage-return

55
推荐指数
6
解决办法
19万
查看次数

Make ListView.ScrollIntoView将Item滚动到ListView的中心(C#)

ListView.ScrollIntoView(object)当前在其中找到一个对象ListView并滚动到它.如果您位于要滚动的对象下方,则会将对象滚动到顶行.如果您位于上方,则会将其滚动到底行的视图中.

如果项目当前不可见,我想将项目滚动到列表视图的中心.有没有一种简单的方法来实现这一目标?

c# wpf listview visual-studio

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

命名空间命名约定

对于那些编写可重用组件的人来说,如果扩展.NET框架的功能,您认为最佳实践是什么?

例如,我正在创建一个Pop3库,因为.NET中不存在.我是否创建自定义命名空间或使用System.Net.Mail

.net c# namespaces design-guidelines

50
推荐指数
2
解决办法
4万
查看次数

如何以编程方式选择WPF TreeView中的项目?

如何以编程方式选择WPF中的项目TreeView?该ItemsControl模型似乎阻止了它.

.net c# wpf treeview itemscontrol

49
推荐指数
5
解决办法
6万
查看次数