我有一个Visuals 的集合ListBox.我需要找到XPosition里面的一个元素,然后动画HorizontalOffset中的ListBox的ScrollViewer.基本上我想创建一个动画ScrollIntoView方法.
这给了我一些问题.首先,我如何获得对ListBoxs scrollviewer 的引用?其次,我怎样才能获得相对XPosition或HozintalOfffset任意元素ListBox?
我并没有对ListBox自身的任何输入做出反应,因此我无法使用Mouse相关属性.
我需要知道在SQL参数名称中使用的有效字符是什么.
给定一些简单的东西,例如SELECT * FROM tblTest WHERE testid = @[X],如果X包含连字符,则语句将失败.参数名称的有效字符是什么?
我昨天在我的开发机器上恢复了一个35Gb的数据库,直到今天早上我的客户端应用程序无法连接时一切正常.所以我打开SQL Management Studio来查找数据库'In Recovery'.
除了它通常与未提交的事务有关之外,我不知道有很多这方面的事情.现在,因为我知道没有任何未提交的交易,它必须是别的东西.首先,我想知道在什么条件下会发生这种情况.其次,虽然这种情况正在发生,但我无法工作,所以如果有任何方法可以阻止恢复,加快速度,或者至少找到大约会有多长时间,这将有所帮助.
好的,为了给一点背景知识,我在大约3年前学习了WPF,并且在各种不同的版本中保持了最新的结果.我在几个项目中查看(并实现了)MVVM,仔细研究了像Prism这样的框架,所以我觉得我对框架的大部分领域非常精通.我还简要介绍了几个小型的Silverlight 2.0项目.
我的问题是,我即将在一家新公司开始Silverlight工作,虽然我很自在能够很好地完成工作,但我觉得我的WPF知识可能会给我带来一些问题.我已经阅读了关于Codeplex 的WPF/Silverlight指南白皮书,这篇文章非常出色并且非常有用,但它突出了差异,但仍然让我想知道如何解决这些差异.
例如,我知道DataTriggers它们MultiBindings和其他一些东西都缺失了.我有兴趣阅读的不是本身的差异,而是你如何得到这些差异或其他模式在Silverlight中有用.如果我需要一个DataTrigger怎么办?显然我的设计应该考虑到这些因素.
所以,问题是,如果你经历了这种转变,那么哪些差异会给你造成最大的麻烦,你是如何解决这个问题的?
我正在使用Ninject 2.0在我的一个应用程序中处理DI,而且我遇到了令我困惑的事情.说实话,零文档并没有太大帮助.
假设我有一个带签名的构造函数 -
ctor(IServiceFactory factory1, IServiceFactory factory2)
{
this.factory1 = factory1;
this.factory2 = factory2;
}
Run Code Online (Sandbox Code Playgroud)
虽然这两个服务实现了相同的接口,但它们是完全不同的实现,并且在不同的时间使用,因此我不想注入IEnumerable<IServiceFactory>.
我的问题是,当我绑定实例时,如何告诉Ninject每个注入的内容?
提前致谢.
为了让任何想要看到代码的人在阅读雷莫的链接后结束,...这里简单介绍一下.(我从未意识到C#有参数属性!)
//abstract factory
public interface IServiceFactory
{
Service Create();
}
//concrete factories
public class Service1Factory : IServiceFactory
{
public IService Create()
{
return new Service1();
}
}
public class Service2Factory : IServiceFactory
{
public IService Create()
{
return new Service2();
}
}
//Binding Module (in composition root)
public class ServiceFactoryModule : NinjectModule
{
public override void Load()
{ …Run Code Online (Sandbox Code Playgroud) 好的; 假设此代码在调试模式下运行 -
static StackFrame GetTopFrameWithLineNumber(Exception e)
{
StackTrace trace = new StackTrace(e);
foreach (StackFrame frame in trace.GetFrames())
{
if (frame.GetFileLineNumber() != 0)
{
return frame;
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
我总是返回null.为什么我检查Exception.StackTrace字符串时堆栈帧没有行号,它显然有任何非框架代码?从我不知道的异常构造堆栈跟踪是否存在问题?
编辑CLARITY: 在抛出的异常中,我可以看到StackTrace属性中的行号.我假设这意味着我拥有我需要的一切.
我有一个数据绑定ListBox与ItemTemplate我想要启用键盘导航.
如果我没有使用项目模板并且只使用了DisplayMemberPath,则列表可以使用keybaord进行导航.例如,按"G"将所选项目设置为以G开头的第一个列表项目.使用项目模板显然会使其更加困难,因为模板中有这样的导航的零个或多个文本候选项.
我的问题是如何将元素标记为导航源或使用其他方法模拟此效果?
我已经实现了以下类:
public class ClassAllocator<T>
where T : new()
{
public delegate T Allocator();
T obj;
Allocator allocator = () => new T();
public ClassAllocator( T obj )
{
this.obj = obj;
}
public ClassAllocator( T obj, Allocator allocator )
{
this.obj = obj;
this.allocator = allocator;
}
public T Instance
{
get
{
if( obj == null )
{
obj = allocator();
}
return obj;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我觉得这个简单而有用的东西应该在.NET的某个地方.而且,我意识到我所做的课程有点不正确.该类设计用于处理没有默认构造函数的对象,但我的'where'子句在所有情况下都需要它.
让我知道如果.NET中有什么东西我可以使用,所以我可以摆脱这个类,因为我不想继续使用重新发明的轮.
谢谢!!!!
我正在使用.NET 3.5.对不起,我之前没有提到过这个问题,直到几个好的答案开始流入,我才意识到它是相关的:)
我无法让任何事件触发器工作.我正在做的一个简化示例如下 -
<Window x:Name="win" x:Class="EventTriggers.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<ControlTemplate x:Key="buttonT">
<Border Background="#333">
<TextBlock Text="{Binding}" HorizontalAlignment="Stretch" Foreground="White"/>
<Border.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
</EventTrigger>
</Border.Triggers>
</Border>
</ControlTemplate>
<DataTemplate x:Key="lbt">
<Button Template="{StaticResource buttonT}" Click="Button_Click"></Button>
</DataTemplate>
</Window.Resources>
<ListBox ItemsSource="{Binding ElementName=win,Path=col}" ItemTemplate="{StaticResource lbt}">
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我知道有一个MouseEnter关于边界的事件,因为它被定义,UIElement但我仍然得到
无法将属性"RoutedEvent"中的字符串"MouseEnter"转换为"System.Windows.RoutedEvent"类型的对象
一旦我运行该应用程序.
任何帮助将非常感激.
我不想邀请Pseudocode在这里是否有用的论点,...有很多与此相关的问题.我觉得写伪代码有时很有用,但有一件事一直在发生,我表达的最好方法是什么?
有时我最终会使用编号方法,有时我会使用C风格的语法,但大部分时间它都是我认为当时最好的混合.这很好,但在6个月后,当我再来看一遍时,并不总是那么清楚意图是什么!为了打击我最近开始将页面分成两部分而在右半部分,我会写pidgin [在这里插入语言],在左边我会写出非常明显和冗长的英文.
我不认为没有任何"标准"来编写伪代码,但我很想知道其他人是如何做到的,也许这将帮助我决定采用统一的方法.
提前致谢.
哦,我知道这个问题是主观的,如果这不是SO的预期目的,我很抱歉,但它仍然是一个有效的问题.事实上,计算中真的有很多问题只有一个正确的答案吗?我将把最有用的答案标记为正确.
wpf ×4
.net ×2
listbox ×2
sql ×2
sql-server ×2
animation ×1
c# ×1
debugging ×1
eventtrigger ×1
keyboard ×1
line-numbers ×1
ninject-2 ×1
parameters ×1
pseudocode ×1
recovery ×1
scrollviewer ×1
silverlight ×1
stack-trace ×1