问题列表 - 第19710页

WPF MVVM:ICommand绑定到控件

我完全迷失在MVVM中使用的命令绑定中.我应该如何将我的对象绑定到窗口和/或它的命令控件来获取方法Button Click

这是一CustomerViewModel堂课:

public class CustomerViewModel : ViewModelBase
{
    RelayCommand _saveCommand;
    public ICommand SaveCommand
    {
        get
        {
            if (_saveCommand == null)
            {
                _saveCommand = new RelayCommand(param => this.Save(), param => this.CanSave);
                NotifyPropertyChanged("SaveCommand");
            }
            return _saveCommand;
        }
    }

    public void Save()
    {
        ...
    }

    public bool CanSave { get { return true; } }

    ...
Run Code Online (Sandbox Code Playgroud)

ViewModelBase实现INotifyPropertyChanged接口以下是Button命令的绑定方式:

<Button Content="Save" Margin="3" Command="{Binding DataContext.Save}" />
Run Code Online (Sandbox Code Playgroud)

将一个实例CustomerViewModel分配给DataContext包含a的窗口Button.

给定的示例不起作用:我已将断点放入Save方法中,但执行不会传递给方法.我已经看到很多例子(在stackoverflow上也是如此),但是无法弄清楚应该如何指定绑定. …

wpf binding mvvm commandbinding

3
推荐指数
1
解决办法
6603
查看次数

对于IE,有没有一个油脂?或者,如何让网站使用MSXML6而不是MSXML5?

我不知道greasemonkey,但我认为这是一种编写或扩展Firefox的方法.

对于IE,有没有一个油脂?

例如:有一个网站托管一个页面,要求我安装MSXML5.0.

替代文字http://i50.tinypic.com/opmgsw.jpg

我不想要MSXML5.0.
我在想,如果我有一个非常棒的功能(如果它是我认为的那样),我就能编写一个将5.0改为6.0的脚本,一切都会很酷.

我知道有一种方法可以在Fiddler中做这种事情,如果我让它运行,并设置为代理.

internet-explorer msxml greasemonkey

5
推荐指数
1
解决办法
2071
查看次数

如何将参数传递给使用eval定义的Perl子例程?

我正在使用配置文件(在YAML中)来定义稍后用于验证我的应用程序所需的其他配置值的类型:

---
action: >
        use List::MoreUtils;
        my $value = $_;
        any { $value eq $_ } qw(fatal keep merge non-fatal replace);
dir   : return defined $_ ? -d $_ : -1;
file  : return defined $_ ? -f $_ : -1;
string: 1;


---
config-element:
    value: foo
    type : file
etc ...
Run Code Online (Sandbox Code Playgroud)

我们的想法是eval每个类型定义,将它们抛入哈希,然后调用验证配置数据(以下是易于理解的示意图):

#throw sub refs into hash
my %type_sub;
foreach my $key (keys %$type_def_ref) {
    my $sub_str = "sub {$type_def_ref->{$key}}";
    $type_sub{$key} = eval $sub_str;

}

#validate (myfile …
Run Code Online (Sandbox Code Playgroud)

parameters perl eval subroutine

4
推荐指数
1
解决办法
2234
查看次数

如何无限振动iPhone广告

想知道我应该使用Objective-c中的哪些代码来连续摇动iPhone ...

iphone objective-c

10
推荐指数
1
解决办法
2065
查看次数

java中的序列化

当我定义一个java对象来实现可序列化的接口时,该对象的成员是否也可以序列化?或者我必须沿着嵌套深度走远,将路径上的每个对象重新定义为可序列化的?

java serialization nested

5
推荐指数
1
解决办法
1313
查看次数

TextBox.Text中的奇怪行为

TextBox.Text是字符串属性

但如果你指定一个int,十进制..etc它就可以了!!

int x = 5;

Textbox1.Text = x; // it works
Run Code Online (Sandbox Code Playgroud)

任何身体都知道为什么能告诉我?

c# asp.net

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

在objective-c中使用参数作为变量名

我是Objective-c的新手并且遇到了问题.是否可以将函数的参数用作某些变量名?

例如,假设我有一堆图像:aPic1,aPic2,bPic1,bPic2,cPic1,cPic2,我想创建一个动作,这样每次单击一个按钮时,视图控制器将隐藏Pic1并显示Pic2,取决于单击哪个按钮.

- (void) performAction:(NSMutableString *) text
{
    [text appendString:@"Pic1"].hidden = YES;    //I wanna hide textPic1, which is a UIImageView
    [text appendString:@"Pic2"].hidden = NO;     //I wanna show textPic2, which is also a UIImageView
}
Run Code Online (Sandbox Code Playgroud)

我知道在这种情况下我不应该使用NSString或NSMutableString.任何人都知道如何通过这种功能实现我的目标?谢谢.

string function objective-c

4
推荐指数
1
解决办法
1670
查看次数

要避免的类(代码完成)

我对代码完整书中的段落感到有些困惑.

在"要避免的类"一节中,它写着:

"避免使用动词命名的类只有行为但没有数据的类通常不是一个类.考虑将类似DatabaseInitialization()或StringBuilder()的类转换为其他类的例程"

我的代码主要由没有数据的动词类组成​​.有发票阅读器,价格计算器,消息构建器等.我这样做是为了将每个类集中到一个任务.然后我将依赖关系添加到其他类以获取其他功能.

如果我正确理解了段落,我应该使用代码

class Webservice : IInvoiceReader, IArticleReader {
    public IList<Invoice> GetInvoices();
    public IList<Article> GetArticles();
}
Run Code Online (Sandbox Code Playgroud)

而不是

class InvoiceReader : IInvoiceReader {
    public InvoiceReader(IDataProvider dataProvider);
    public IList<Invoice> GetInvoices();
}

class ArticleReader : IArticleReader {
    public ArticleReader(IDataProvider dataProvider);
    public IList<Article> GetArticles();
}
Run Code Online (Sandbox Code Playgroud)

编辑 感谢所有回复.

我的结论是,我目前的代码比OO更多SRP,但它也受到"贫血领域模型"的影响.

我相信这些见解将来会对我有所帮助.

class-design code-complete

38
推荐指数
3
解决办法
1510
查看次数

在jQuery中更改克隆输入元素的名称attr在IE6/7中不起作用

这个SSCCE说明了一切:

<!doctype html>
<html lang="en">
    <head>
        <title>Test</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#add').click(function() {
                    var ul = $('#ul');
                    var liclone = ul.find('li:last').clone(true);
                    var input = liclone.find('input');
                    input.attr('name', input.attr('name').replace(/(foo\[)(\d+)(\])/, function(f, p1, p2, p3) {
                        return p1 + (parseInt(p2) + 1) + p3;
                    }));
                    liclone.appendTo(ul);
                    $('#showsource').text(ul.html());
                });
            });
        </script>
    </head>
    <body>
        <ul id="ul">
            <li><input type="text" name="foo[0]"></li>
        </ul>
        <button id="add">Add</button>
        <pre id="showsource"></pre>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Copy'n'paste'n'run它,点击Add几次按钮.在每次点击时,您都应该看到<ul>要显示的HTML代码,<pre id="showsource">预期代码大致应该是:

<li><input name="foo[0]" type="text"></li>
<li><input name="foo[1]" type="text"></li>
<li><input …
Run Code Online (Sandbox Code Playgroud)

jquery clone internet-explorer-7 internet-explorer-6

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

ItemizedOverlay的setFocus(overlayItem)不起作用

我正在研究android应用程序,我能够使用ItemizedOverlay在地图上显示多个图标,并且我还实现了ItemizedOverlay的onTap(int index)方法,以在所需窗口中显示图标特定信息.

现在,我想在用户点击其他组合时更改所选叠加层的图标.我调用ItemizedOverlay的setFocus(OverlayItem)方法来显示特定叠加的不同图标.当用户点击任何特定的叠加层但在我调用setFocus(OverlayItem)方法时不会更改图标时,它可以正常工作.

有什么指针吗?在mapView中以编程方式更改所选叠加图标的最佳方法是什么?

我已经覆盖了我的自定义OverlayItem类的getMarker方法,以显示不同的overlayItem状态的不同标记.我想使用setFocus(OverlayItem)方法来更改OverlayItem的状态,并在选择时更改标记.

@Override
public Drawable getMarker(int stateBitset){
 if(stateBitset==0){
  icon = Util.getCategoryMapIcon(0);   
  icon.setBounds(0-icon.getIntrinsicWidth()/2, 0-icon.getIntrinsicHeight(), icon.getIntrinsicWidth()/2, 0);
  return icon;
 }else {
  icon = Util.getCategoryMapIcon(OverlayItem.ITEM_STATE_SELECTED_MASK);
  icon.setBounds(0-icon.getIntrinsicWidth()/2, 0-icon.getIntrinsicHeight(), icon.getIntrinsicWidth()/2, 0);
  return icon;   
 }
}
Run Code Online (Sandbox Code Playgroud)

这里Util.getCategoryMapIcon(0)是返回相应图标的Utility方法,此方法需要一些参数,我已删除这些参数使这个例子看起来很简单.

以下是改变状态的代码

Button leftNavigation = (Button) findViewById(R.id.left_navigation_button);
leftNavigation.setOnClickListener(new OnClickListener() {
 @Override
 public void onClick(View v) {
  OverlayItem item = searchResultsOverlay.get(index+1);
  setFocus(item);
 }
});
Run Code Online (Sandbox Code Playgroud)

任何帮助都感激不尽.谢谢,Aamir

android google-maps overlay map

6
推荐指数
1
解决办法
1564
查看次数