在Silverlight(可能还有WPF)中,当我定义一个System.Windows.Interactivity.Behavior<T>例如a ItemsControl,就像
public class SomeAwesomaticBehavior : Behavior<ItemsControl>
{
}
Run Code Online (Sandbox Code Playgroud)
它将出现在Visual Studio的XAML编辑器中(也可能出现在Designer中),即使对于普通的非Items控件也会出现令人讨厌的运行时异常.这与仅为预期类型出现的附加属性相反.
有没有办法限制这种可见性?一些神奇的属性可能(虽然这将是一个多余的声明)?
如果今天没办法,我希望将来会有这样的事情吗?因为当弹出很多与当前对象无关的行为时,肯定会让同事和设计人员感到困惑.
更新:我已经提交了uservoice项目.
Silverlight:http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/1224253-restrict-behavior-visibility? ref = title
WPF:http://dotnet.uservoice.com/forums/40583-wpf-feature-suggestions/suggestions/1224259-restrict-behavior-visibility? ref = title
我在主窗口中有一个集合,我想在用户控件的网格上显示它,什么是正确的MVVM方法呢?
我在MainWindow中完成了一个observableCollection,并将其绑定到usercontrol中的observableCollection.并且在用户控件中,网格被限制在集合中.
它不起作用:(
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public ObservableCollection<string> MyNames
{
get { return (ObservableCollection<string>)GetValue(MyNamesProperty); }
set { SetValue(MyNamesProperty, value); }
}
// Using a DependencyProperty as the backing store for Names. This enables animation, styling, binding, etc...
public static readonly DependencyProperty MyNamesProperty =
DependencyProperty.Register("MyNames", typeof(ObservableCollection<string>), typeof(MainWindow), new UIPropertyMetadata(null));
public MainWindow()
{
MyNames = new ObservableCollection<string>() { "Jonh", "Mary" };
this.InitializeComponent();
DataContext = this;
}
}
Run Code Online (Sandbox Code Playgroud)
MainWindow XAML: …
在NSURLConnection上调用实例方法取消通常根本不取消连接.
我正在NSOperation中执行异步NSURLConnection.如果取消操作,则通过在NSURLConnection上调用cancel然后将连接设置为nil来停止连接.
有没有办法立即取消连接?大多数情况下,它会继续在后台运行,直到请求完成,即使连接都被取消并设置为nil.取消连接后释放连接,取消分配NSOperation子类.即便如此,异步连接仍在继续运行!
还有其他方法可以取消它吗?或者它的运行线程可以取消吗?
这是我的NSOperation子类main方法的代码片段:
// Create and start asynchronous connection
self.connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
[request release];
while(!isFinished) {
if(self.isCancelled) {
[self.connection cancel];
self.connection = nil;
[self uploadCanceledDelegate];
return;
}
// Special sleep because callbacks are executed on same thread as this loop
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
}
Run Code Online (Sandbox Code Playgroud)
注意:仅在启用WiFi时才会出现此问题.使用3G/Edge/GPRS,它可以正常工作
我有以下声明:
someList = dc.ExecuteQuery<MyCustomType>(@"Select Id As ProductId, Name From ivProduct").ToList();
Run Code Online (Sandbox Code Playgroud)
当我的MyCustomType的Id属性为INT时,数据库中的Id存储为int32.有没有办法在选择期间将int32强制转换为int?
谢谢
我试过这个:
Console.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")));
Console.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes(Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")))));
Run Code Online (Sandbox Code Playgroud)
我得到了不同的结果,虽然我认为它应该是一样的
我正在制作一个从服务器获取文件名列表的方法,但我遇到了一个我无法回答的问题.
该方法返回两件事:
SftpResult是与各种的返回代码的枚举.在这三个签名中:
public static ArrayList GetFileList(string directory, out SftpResult result)
public static SftpResult GetFileList(string directory, out ArrayList fileNames)
public static SftpFileListResult GetFileList(string directory)
(其中SftpFileListResult是an SftpResult和an 的复合对象ArrayList)
这是首选,为什么?
任何人都可以告诉如何维护会话(在PHP中),以便保留会话,并且即使在重新启动浏览器后也可以访问.
通常,会话在关闭浏览器时到期,但我希望会话不被关闭,以便下次使用浏览器时可以访问会话数据.
如何在管理设置页面上包含所见即所得编辑器而不是标准文本区域?
谢谢。
我正在运行此查询以设置一个VARBINARY(我希望它是这样,出于一个真正的原因)我的数据库字段:
CREATE TABLE `test_books` (`id` int UNSIGNED NOT NULL,`book` VARBINARY, `timestamp` int(11) NOT NULL, UNIQUE KEY `id` (`id`))
Run Code Online (Sandbox Code Playgroud)
它给我一个标准的语法错误,告诉我在'VARBINARY'之后检查所有剩余的代码.
我的MySQL服务器版本5.0.87.d10声称支持自5.0以来的数据类型.
我VARBINARY直接更改了int,查询工作正常,可能之后我遗漏了什么?
http://maven.apache.org/pom.html#Properties表示属性"值可在POM内的任何位置访问".
这应该是" 在POM内的大多数地方都可以访问"吗?
我可以指定依赖的版本没有问题,如下所示:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但是项目本身的版本如何:
<project xmlns="http://maven.apache.org/POM/4.0.0" ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>${myversion}</version>
<properties>
<myversion>8</myversion>
</properties>
<modules>
<module>alpha</module>
<module>beta</module>
</modules>
...
Run Code Online (Sandbox Code Playgroud)
如果我尝试这个<version>将不会取值8.这里我在pom中定义了$ {myversion}但是如果我在命令行中指定-Dmyversion = 8,情况似乎也是如此.
如果其中一个模块使用硬编码版本号指定其父级,如下所示:
<parent>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>8</version>
</parent>
Run Code Online (Sandbox Code Playgroud)
当我尝试构建然后当maven来看模块的pom时,它会说它无法找到版本8的给定父pom.
但是,如果我将父版本中的版本硬编码为8,而不是使用$ {myversion},那么一切正常.
所以在我看来,父pom的/ project/version标签不会发生属性替换.
是这种情况还是对我似乎看到的内容有其他解释?
问候,
/乔治