小编Hou*_*man的帖子

在样式的EventTrigger中触发命令?

如您所知,在没有行为的情况下,您无法将事件直接绑定到命令:

<DataGrid>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="PreviewMouseDoubleClick">
            <i:InvokeCommandAction Command="{Binding TradeEntryCommand"} />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

这完全正常,但是现在我必须通过双击DataGrid本身双击Cell来重构它.(我不在乎点击了哪个单元格)

我希望现在在Cell Style中定义这个behviour,如下所示:

<Style x:Key="DefaultCellStyleBase" TargetType="{x:Type DataGridCell}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type DataGridCell}">
                <ControlTemplate.Triggers>
                    <EventTrigger RoutedEvent="PreviewMouseDoubleClick">
                        ?????????
                    </EventTrigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <!-- ... -->
</Style>
Run Code Online (Sandbox Code Playgroud)

但是我如何从上面引入行为来触发命令呢?

非常感谢,

wpf xaml

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

如何在forms.ModelChoiceField上定义属性?

在我的ModelForm中,我创建了一个未直接绑定到模型上的任何内容的下拉列表.因此,我在实例化时传递了它的查询集.

class CallsForm(ModelForm): 
     def __init__(self, company, *args, **kwargs):
        super(CallsForm, self).__init__(*args, **kwargs)        
        self.fields['test_1'].queryset = company.deal_set.all() 

     test_1      =   forms.ModelChoiceField(queryset = '')  
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,我如何为它指定一些属性?

对于其他模型绑定小部件,我通常在Meta中执行此操作:

class Meta:
        model = Conversation
        widgets = {
                    'notes': forms.Textarea(attrs={'class': 'red'}),                    
                   }                
Run Code Online (Sandbox Code Playgroud)

但在我的情况下重写它是没有意义的.

我尝试在实例化时设置属性而没有任何运气.

test_1      =   forms.ModelChoiceField(attrs={'class':'hidden'}, queryset = '')   
Run Code Online (Sandbox Code Playgroud)

但它说: __init__() got an unexpected keyword argument 'attrs'

肯定有办法......

django

11
推荐指数
1
解决办法
9635
查看次数

如何使用flask.url_for()和flask-restful?

我已经像这样设置了Flask:

api = Api(app, decorators=[csrf_protect.exempt])
api.add_resource(FTRecordsAPI,
                 '/api/v1.0/ftrecords/<string:ios_sync_timestamp>',
                 endpoint="api.ftrecord")
Run Code Online (Sandbox Code Playgroud)

我想在内部重定向到端点api.ftrecord.

但是我尝试这样做的那一刻:

base_url = flask.url_for('api.ftrecord')
Run Code Online (Sandbox Code Playgroud)

我得到一个例外.

  File "/Users/hooman/workspace/F11A/src/lib/werkzeug/routing.py", line 1620, in build
    raise BuildError(endpoint, values, method)
BuildError: ('api.ftrecord', {}, None)
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

python flask flask-restful

11
推荐指数
1
解决办法
8925
查看次数

如何提高非虚拟化DataGrid的排序性能?

我相信大多数人现在都会惊讶为什么我们必须关闭wpf数据网格的虚拟化.虽然虚拟化确实有助于减少内存占用,但它会增加CPU开销并且滚动体验并非完美无瑕.

根据我们客户的要求,我们必须禁用数据网格中的虚拟化并进一步优化它,现在它可以非常平滑地上下滚动而没有任何延迟.缺点是数据被预加载并保存在存储器中.这是我们可以忍受的解决方案.

然而,排序现在已成为一个大问题.虽然使用CustomSorter:IComparer确实是比通常的SortDecriptors更好的排序替代品,但是在我们的情况下它几乎没有任何区别,尽管整个行都在重绘.

有没有办法提高非虚拟化数据网格的排序速度?

非常感谢,

更新:

我遇到了一个想法,我正在尝试实施.取消绑定Itemssource,进行排序,一旦排序完成,重新绑定Itemssource.

为了实现这一点,我从DataGrid派生来捕获SortHandler(即用户点击列时)

public class CustomSortDataGrid : DataGrid
    {
        public CustomSortDataGrid()
        {
            Sorting += SortHandler;
        }

        private void SortHandler(object sender, DataGridSortingEventArgs e)
        {
            DataGridColumn column = e.Column;
            IComparer comparer = null;

            // prevent the built-in sort from sorting
            e.Handled = true;

            ListSortDirection direction = (column.SortDirection != ListSortDirection.Ascending) ? ListSortDirection.Ascending : ListSortDirection.Descending;

            //set the sort order on the column
            column.SortDirection = direction;

            //use a ListCollectionView to do the sort.
            var lcv = (ListCollectionView)CollectionViewSource.GetDefaultView(ItemsSource);


            comparer = new …
Run Code Online (Sandbox Code Playgroud)

.net c# sorting wpf datagrid

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

Ubuntu Bash不理解Bash脚本

我是Bash Script的新手.我在Ubuntu中运行以下简单脚本,如下所示:

sudo bash -x Script.sh
Run Code Online (Sandbox Code Playgroud)

输出:

+ $'\r'
: command not found
+ $'\r'
: command not found
+ $'\r'
: command not found
+ adminEmail=$'info@domain.com\r'
+ $'\r'
: command not found
' echo 'database name:
database name:
+ read $'dbname\r'
Run Code Online (Sandbox Code Playgroud)

实际的脚本:

#!/bin/bash

# Installation script for latest Wordpress website on Ubuntu
# 
# Kave
# December 27, 2011


adminEmail="info@domain.com"

echo "database name:"
read dbname
Run Code Online (Sandbox Code Playgroud)

这些'\r'错误消息会出现什么?甚至评论似乎都不被理解......

bash ubuntu

10
推荐指数
2
解决办法
7303
查看次数

Popover隐藏在Twitter Bootstrap中的导航栏下

我的导航栏中有一个帮助按钮,具有弹出功能.

<div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
           <div class="nav pull-right">
               <div class="cb_inline_block">               
                   <a class="btn btn-small cb_inline_block icon timezone_help" data-content="{% trans 'hahaha' %}" rel="popover" href="#" data-original-title="{% trans 'Time Zone' %}"><i class="icon-question-sign icon-large"></i></a>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$(document).ready(function () { $('.timezone_help').click(show_timezone_help); };

function show_timezone_help(event){
    event.preventDefault();
    $('.timezone_help').popover('show');
}
Run Code Online (Sandbox Code Playgroud)

但是当我点击它时,弹出窗口隐藏在导航栏后面.

我真的必须手动设置z-index吗?那会很痛苦.我必须做错事.谢谢.

在此输入图像描述

css twitter-bootstrap

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

如何将用户名:密码发送到unittest的app.get()请求?

这是我在Flask-RESTful中进行单元测试的一部分.

self.app = application.app.test_client()
rv = self.app.get('api/v1.0/{0}'.format(ios_sync_timestamp))
eq_(rv.status_code,200)
Run Code Online (Sandbox Code Playgroud)

在命令行中,我可以使用curl将用户名:密码发送到服务:

curl -d username:password http://localhost:5000/api/v1.0/1234567
Run Code Online (Sandbox Code Playgroud)

如何在单元测试的get()中实现相同的功能?

由于我的get/put/post需要身份验证,否则测试将失败.

python unit-testing basic-authentication flask flask-restful

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

如何在 python dot env 文件中定义列表?

在 Fast API 文档中建议使用 .env 来加载配置。只是据我所知它只支持字符串。

from fastapi import FastAPI
from pydantic import BaseSettings


class Settings(BaseSettings):
    api_tokens = []

    class Config:
        env_file = ".env"


settings = Settings()
app = FastAPI()

Run Code Online (Sandbox Code Playgroud)

我通常每隔几个月更改一次 API 令牌,将新的令牌添加到列表中,并在一段时间后删除旧的令牌。这为用户提供了足够的时间升级到最新版本而不会造成任何中断。同时,两个 API 令牌都将在一段时间内有效。

但我无法在文件中定义列表.env

API_TOKENS = abc123,abc321
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

更新:

这实际上是可能的。下面的答案是正确的,但是我仍然必须像这样更改类型:

class Settings(BaseSettings):
    api_tokens: list
Run Code Online (Sandbox Code Playgroud)

python pydantic fastapi python-dotenv

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

Flask Login: TypeError: decoding Unicode is not supported

I am running flask, pymongo and flask-login as a stack.

My flask app is running fine locally, but once I deploy it with uwsgi on nginx, I get a strange unicode error from flask_login extension.

In short:

TypeError: decoding Unicode is not supported
Run Code Online (Sandbox Code Playgroud)

Traceback:

[pid: 21753|app: 0|req: 5/5] 84.207.253.34 () {38 vars in 600 bytes} [Thu Jun 13 16:51:08 2013] GET / => generated 0 bytes in 4 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core …
Run Code Online (Sandbox Code Playgroud)

flask uwsgi flask-login

9
推荐指数
2
解决办法
3877
查看次数

随机双数的多次迭代往往变小

我正在创建一个股票交易模拟器,其中最后几天的交易价格被视为开盘价并在当天模拟.

为此,我生成的随机双数可能是lastTradePrice的-5%,比lastTradePrice高5%.然而,在大约240次迭代之后,我看到生成的双数如何越来越小,接近于零.

Random rand = new Random();
Thread.Sleep(rand.Next(0,10));
Random random = new Random();
double lastTradeMinus5p = model.LastTradePrice - model.LastTradePrice * 0.05;
double lastTradePlus5p = model.LastTradePrice + model.LastTradePrice * 0.05;
model.LastTradePrice = random.NextDouble() * (lastTradePlus5p - lastTradeMinus5p) + lastTradeMinus5p;
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我试图通过利用获得随机种子Thread.sleep().然而它并非真正随机化.为什么总会产生较小的数字呢?

在此输入图像描述

更新:

数学本身实际上很好,尽管Jon已经证明了它的下降趋势.此处还解释在范围之间获取随机双数.

真正的问题是种子Random.我遵循Jon的建议,Random在所有三个价格的线程中保持相同的实例.这已经产生了更好的结果; 价格实际上反弹回来了.我仍在调查并接受如何改进这一建议的建议.Jon给出的链接提供了一篇很好的文章,介绍了如何为每个线程生成一个随机实例.

顺便说一下,如果你有兴趣,整个项目开源的.(在浏览器中使用WCF,WPF,PRISM 4.2,.NET 4.5堆栈)

TransformPrices呼叫是发生在这里的一个单独的线程.

如果我保持相同的随机实例会发生这种情况: 在此输入图像描述

这是通过RandomProvider.GetThreadRandom();文章中指出的: 在此输入图像描述

.net c# random double

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