问题列表 - 第137610页

具有OneWayToSource绑定的SelectedIndex不会触发

我有一个特定的xaml数据绑定问题.我有两个列表框(主 - 详细信息,因此列表框将IsSynchronizedWithCurrentItem设置为true).我希望我的viewmodel知道详细信息列表框中的所选项何时更改:我在viewmodel类上创建了一个int属性(即我们可以调用此属性SelInd)并在详细信息viewmodel上以这种方式绑定:

    SelectedIndex="{Binding Mode=OneWayToSource, Path=SelInd}"
Run Code Online (Sandbox Code Playgroud)

我在运行时没有得到任何错误/异常,但绑定不会触发:当所选项目发生更改时,我的viewmodel属性不会更新.如果我将绑定模式更改为TwoWay,一切正常,但这不是我需要的.我需要它与OneWayToSource一起使用(顺便说一句,如果我将SelectedItem绑定到SelectedValue属性,则适用相同的非工作行为).

为什么这些绑定不会触发OneWayToSource?

这是一个更完整的代码示例,只是为了让事情更清楚:编辑:我无法显示真实代码(NDA)但我会在这里展示更简单和类似的东西(Page的DataContext是一个PageViewModel类的实例解释我只需要我的viewmodel类的SelInd属性应该始终在第二个ListBox中反映SelectedIndex的值.我已经找到了这样做的替代方法(代码隐藏中的事件处理程序或附加行为)但是现在我只是好奇它为什么它不适用于OneWayToSource绑定.

<Page>
    <ContentControl x:Name="MainDataContext">
        <Grid DataContext={Binding Path=Masters}>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="*" />

            </Grid.ColumnDefinitions>

            <ListBox Grid.Column="0"
                SelectionMode="Single"                           
             IsSynchronizedWithCurrentItem="True"
             ItemsSource="{Binding }">
                <ListBox.ItemContainerStyle>
            ...
            </ListBox.ItemContainerStyle>
            <ListBox.ItemTemplate>
                <DataTemplate>
                ....
                    </DataTemplate>
            </ListBox.ItemTemplate>
            </ListBox>

            <ListBox Grid.Column="1"
                SelectionMode="Single"                           
              SelectedIndex="{Binding Mode=OneWayToSource,  ElementName=MainDataContext,Path=DataContext.SelInd}"
             IsSynchronizedWithCurrentItem="True"
             ItemsSource="{Binding Path=Details}">
                <ListBox.ItemContainerStyle>
            ...
            </ListBox.ItemContainerStyle>
            <ListBox.ItemTemplate>
                <DataTemplate>
                ....
                    </DataTemplate>
            </ListBox.ItemTemplate>
            </ListBox>
        </Grid>
    </ContentControl>
</Page>
Run Code Online (Sandbox Code Playgroud)

这是视图模型类的草图

public class PageViewModel{
    public ObservableCollection<MasterClass> Masters {get;set;}

    public int SelInd {get;set;}

    ....
}
Run Code Online (Sandbox Code Playgroud)

这里是MasterClass,它只是一个名字和一个细节列表

public class MasterClass{
    public ObservableCollection<DetailsClass> Details …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf xaml selecteditem

9
推荐指数
1
解决办法
3215
查看次数

腌制多个词典

所以我是python的新手,在整个学习过程中我很可能会问很多菜鸟问题(如果他们当然没有被问过/回答过).

我有一个问题是,如果有一种方法可以使用pickle将多个词典保存到一个文本文件中,或者每个单独的词典都必须保存到它自己的单独文件中.例如,如果我想创建一个程序来管理Web帐户,每个帐户都有各种任意键/值,我可以将所有这些个人帐户保存为一个存档作为单独的词典吗?

在此先感谢,一个菜鸟会欣赏示例代码和/或任何建议.

python pickle python-3.x

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

重新定义的全局变量

我有点困惑这个代码结果:

#include <stdio.h>
int g;
void afunc(int x)
{
     g = x; /* this sets the global to whatever x is */
}

int main(void)
{
    int g = 10;    /* Local g is now 10 */
    afunc(20); /* but this function will set it to 20 */
    printf("%d\n", g); /* so this will print "20" */

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么结果是10不是20?

c global-variables local-variables

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

咕噜致命错误:无法在Yeoman找到当地的咕噜声

我安装了yeoman并开始了官方文档中提供的示例.我完成了建议的操作

    yo webapp 
    bower install underscore  
    grunt
Run Code Online (Sandbox Code Playgroud)

在运行grunt之后,我收到了消息

    grunt-cli: The grunt command line interface. (v0.1.9)

    Fatal error: Unable to find local grunt.

    If you're seeing this message, either a Gruntfile wasn't found or grunt
    hasn't been installed locally to your project. For more information about
    installing and configuring grunt, please see the Getting Started guide:

    http://gruntjs.com/getting-started
Run Code Online (Sandbox Code Playgroud)

请注意,已经安装了grunt

    npm install -g grunt-cli
Run Code Online (Sandbox Code Playgroud)

    npm install -g grunt
Run Code Online (Sandbox Code Playgroud)

你在项目根目录中生成了Gruntfile.js,我正在运行该命令.
package.json也已生成:

    "name": "testyo",
    "version": "0.0.0",
    "dependencies": {},
    "devDependencies": {
      "grunt": "~0.4.1",
      "grunt-contrib-copy": "~0.4.1", …
Run Code Online (Sandbox Code Playgroud)

gruntjs yeoman

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

jQuery:在keydown处理程序中获取新值

我遇到了这个问题:onKeyPress Vs. onKeyUp和onKeyDown,我发现keypress只要在文本输入中键入字符就会触发它.我试图运行以下代码.它应该在文本长度超过0时使输入的背景变为黄色,或者在它为0时使白色变为白色.我无法使其工作.如果我尝试做keydown,我有以下问题:

  1. 如果我只输入一个字符放开,背景仍为白色.

  2. 如果那时,我按下backspace,从而清除那一个字符,它变成黄色(正好与我想要的相反!).如果我现在按(AltShift)任何其他键,它将再次变为白色.事实上,如果不是Alt或者Shift我输入一个角色,它仍将保持白色,将我们带回第一个问题.

  3. 如果我键入按下一个字符键并按住它,则第一个字符的背景保持白色,然后变为黄色的第二个字符.

如果我keyup只尝试,这些是问题(如预期的那样):

  1. 只要按下按键,即使将字符添加到空输入或删除整个文本,背景也不会改变.

如果我尝试keypress,我面临同样的问题keydown,即使它应该工作.

如果我绑定3个处理程序keyup,keydownkeypress(上帝我绝望),几乎所有的问题都解决了,除了问题3 keydown:如果我键入按下一个字母键不放,背景仍然是白色的第一个字符,而变成黄色第二个字符开始.

我该如何解决这个问题?

JS:

$(document).ready(function() {

    $("input").bind("keydown", function() {
        if ($(this).val().length == 0) {
            $(this).css('background', 'white');
        } else {
            $(this).css('background', 'yellow');
        }
    });

    $("input").bind("keypress", function() {
        if ($(this).val().length == 0) {
            $(this).css('background', 'white');
        } else {
            $(this).css('background', 'yellow');
        }
    });

    $("input").bind("keyup", function() …
Run Code Online (Sandbox Code Playgroud)

javascript jquery keypress keydown keyup

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

图表旁边的索引表

我正在寻找一种在绘图旁边添加表格的方法(在实际的笛卡尔画布之外).该表将是排序索引,其中更多信息与图上已有的标签相关.我有一个使用ggplot创建的散点图:

在此输入图像描述

该图的R代码如下:

png("image.png", width = 2000, height = 1500, res = 85);
ggplotXY <- ggplot(scatterPlotData, aes(x=x, y=y, colour=labels, label=labels)) +
geom_point() +
geom_text(hjust=0, vjust=0)
ggplotXY
dev.off()
Run Code Online (Sandbox Code Playgroud)

我的数据框中有一个列,其中包含该点的名称.所以,例如,这些行很长:

1: Name One
2: Name Two
3: Name Three
.
.
.
150: Name 150
Run Code Online (Sandbox Code Playgroud)

我该如何添加这样一张桌子?我不想在散点图中添加整个名称,因为它会重叠很多点.正如您所看到的,即使数字本身重叠,尽管它是可以接受的.

欢迎并赞赏投入.

plot r graph data.table

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

Cognos report studio group for subtotals

我有这个按列城市分组的报告.当我在金额字段中添加总计时,它不显示每个城市的小计...只是最后的总计.

如何在Cognos report studio中添加小计行?

cognos

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

为什么我不能选择两个输入元素?

我正在尝试设置一个值来输入与ID匹配的元素.

但是jQuery.each只获取第一个/一个输入元素.

我正在尝试执行ajax帖子,我需要这两个ID具有相同的值.

HTML

@Html.HiddenFor(u => u.TransID)   
//<input id="TransID" name="TransID" type="hidden" value="0">

@Html.DropDownListFor(u => u.TransID, Model.TransModes)
//<input id="TransID" name="TransID" value="0">
Run Code Online (Sandbox Code Playgroud)

脚本

$("#TransID").each(function () {
    $(this).val("2")
    alert($(this).val()); 
});
Run Code Online (Sandbox Code Playgroud)

干杯

javascript jquery dom

-1
推荐指数
1
解决办法
74
查看次数

highcharts为单点自定义工具提示

我想自定义特定系列中最后一个点的工具提示,保留本系列中的其他点,以及其他系列,使用默认的工具提示格式.基本上,我正在寻找类似于这个配置的东西.在此先感谢您的帮助!

series: [{
            tooltip: {    // ?? tooltip does not work inside series
                formatter: function() {
                    if (lastPoint in the series) {  // ?? how to determine if lastPoint
                        return '<b>Final result is </b> ' + this.y;
                    }
                    // ?? return default format if it is not the last point in the series
                }
            },            
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6]        
        }, {
            data: [194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2]        
        }]
Run Code Online (Sandbox Code Playgroud)

customization tooltip highcharts

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

使用ReportLab.platypus渲染后,是否可以获得Flowable的坐标位置?

我的主要目标是让页面上的所有图像可流动,就好像它们是可点击的链接一样.为了做到这一点,我将创建一个canvas.linkRect()并将其放在渲染的Image上.这是我如何使用canvas.linkRect()的一个例子:

canvas.linkURL(
    url='url_goes_here',
    rect=(x1, y1, x2, y2), #(x1, y1) is the bottom left coordinate of the rectangle, (x2, y2) is the top right
    thickness=0, relative=1
)
Run Code Online (Sandbox Code Playgroud)

在查看BaseDocTemplate类之后,我找到了一个名为afterFlowable的方法(self,flowable).我重写了那个方法并在传入的flowable上调用了dir(),结果如下:

['__call__', '__doc__', '__init__', '__module__', '_doctemplateAttr',
'_drawOn', '_fixedHeight', '_fixedWidth', '_frameName', '_hAlignAdjust',
'_showBoundary', '_traceInfo', 'action', 'apply', 'draw', 'drawOn', 'encoding',
'getKeepWithNext', 'getSpaceAfter', 'getSpaceBefore', 'hAlign', 'height',
'identity', 'isIndexing', 'locChanger', 'minWidth', 'split', 'splitOn', 'vAlign',
'width', 'wrap', 'wrapOn', 'wrapped']
Run Code Online (Sandbox Code Playgroud)

它有一个宽度和高度属性我可以用来确定linkRect()应该有多大(x2和y2应该是多少),但没有关于flowable开始的位置的信息(x1和y1应该是什么?).

如果所有其他方法都失败了,我想到了以某种方式将Frame和Image Flowable配对在一起,因为Frame有我想要创建linkRect()的信息.然而,在知道何时以及如何使用它的各个Flowables列表来排序帧列表似乎是一件麻烦的事情,除了必须确切地知道将这些帧放在图像的哪个位置之外.还有另一种方法可以实现这一目标还是不可能?

谢谢!

python reportlab platypus

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