我刚学习WPF中的MVVM,我对WPF和MVVM都是全新的(我理解它是如何工作的,但从未使用它......)
我在网上找到的每一篇教程/文章都使用了RelayCommand或DelegateCommand.
在我的观察中,这些模式迫使VM违反SRP原则,因为它将把命令逻辑保存在其中.
为什么不使用ICommand接口的自定义实现?像这样:
想象一下,您正在显示一个人并将其保存到数据库中:
我的Xaml就是这样的:
<StackPanel>
<TextBlock Width="248" Height="24" Text="The name is:: " />
<TextBlock Width="248" Height="24" Text="{Binding Name}">
</TextBlock>
<TextBox HorizontalAlignment="Left" Name="textBox1" Width="120" Height="23"
VerticalAlignment="Top" Text="{Binding Name}"
/>
<Button Name="Salvar" VerticalAlignment="Bottom"
Command="{Binding SavePerson}"
CommandParameter="{Binding}">Save</Button>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
这是我的VM:
public class PersonVM: INotifyPropertyChanged
{
private string nameValue;
public string Name
{
get{
return nameValue;
}
set
{
if (value != this.nameValue)
{
this.nameValue= value;
NotifyPropertyChanged("Name");
}
}
}
public ICommand SavePerson{ get { return new SavePersonCommand(); } }
#region INotifyPropertyChanged Members …Run Code Online (Sandbox Code Playgroud) 我对LINQ生成的Sql查询有一些问题,因为我的环境很大,我做了一个反映我的问题的简单例子.
这是我的模特:
public class ClassA
{
public int ID { get; set; }
public virtual ICollection<ClassB> Children { get; set; }
}
public class ClassB
{
public int ID { get; set; }
public string Data { get; set; }
}
public class ClassC
{
public int ID { get; set; }
public virtual ICollection<ClassB> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
很简单吧?
嗯,这是我的查询:
var classA = (from x in db.ClassAs
where x.ID == 2
select x).First();
var classesB = (from …Run Code Online (Sandbox Code Playgroud) 在python中,我可以在运行时将函数放入变量,然后使用getattr函数调用它
method = getattr(self,self.name)
method()
Run Code Online (Sandbox Code Playgroud)
在Coffeescript中有类似的方法吗?谢谢!
使用zeekay建议但使用类将是:
class Test
foo: -> alert 'foo'
foo2: methodName -> this[methodName]()
x = new Test
x.foo2('foo')
Run Code Online (Sandbox Code Playgroud) 我正在使用Simple Facebook API for Android,我在这里面临一个问题.
我正在使用他们网站上的代码登录https://github.com/sromku/android-simple-facebook并获取个人资料信息.
有用.当我点击我的"登录"按钮时,它会显示Facebook登录页面,然后在登录后转到授权并返回我的应用程序并运行.
但是,如果我点击登录,然后关闭使用Facebook登录页面打开的LoginDialog,并尝试再次登录我得到以下异常:
错误/ Facebook(17472):发生了不好的事情java.lang.UnsupportedOperationException:Session:尝试打开一个有待处理请求的会话.com.facebook.Session.open(Session.java:958)at com.facebook.Session.openForRead(Session.java:388)at com.sromku.simple.fb.SimpleFacebook.openSession(SimpleFacebook.java:680)at at com.sromku.simple.fb.SimpleFacebook.login(SimpleFacebook.java:255)
有任何想法吗?
我正在尝试从同一图表上的数据集中绘制3行,并使用ggplot2显示它们.我想手动设置每行的颜色和形状.
问题是颜色/形状是根据标签的词典顺序设置的,我似乎对所选择的内容没有任何控制.
这就是我尝试过的:
px <-
ggplot(dataset) +
stat_smooth(aes(x=id, y=dataset[,4], colour="2000", linetype="2000"),se=FALSE, size=1, span=0.1, level=0.90, method="loess") +
stat_smooth(aes(x=id, y=dataset[,3], colour="500", linetype="500"),se=FALSE, size=1, span=0.1, level=0.90, method="loess") +
stat_smooth(aes(x=id, y=dataset[,2], colour="1000", linetype="1000"),se=FALSE, size=1, span=0.1, level=0.90, method="loess") +
theme(legend.title=element_blank()) +
xlab("x") +
ylab("y") +
ggtitle("px")
py <-
ggplot(dataset) +
stat_smooth(aes(x=id, y=dataset[,4], colour="1000", linetype="1000"),se=FALSE, size=1, span=0.1, level=0.90, method="loess") +
stat_smooth(aes(x=id, y=dataset[,3], colour="500", linetype="500"),se=FALSE, size=1, span=0.1, level=0.90, method="loess") +
stat_smooth(aes(x=id, y=dataset[,2], colour="2000", linetype="2000"),se=FALSE, size=1, span=0.1, level=0.90, method="loess") +
theme(legend.title=element_blank()) +
xlab("x") +
ylab("y") +
ggtitle("py")
pz …Run Code Online (Sandbox Code Playgroud) android ×1
c# ×1
coffeescript ×1
facebook ×1
ggplot2 ×1
java ×1
javascript ×1
linq ×1
mvvm ×1
plot ×1
python ×1
r ×1
relaycommand ×1
sql-server ×1
wpf ×1