问题列表 - 第2258页

WPF HiercharchicalDataTemplate.DataType:如何对接口做出反应?

问题

我有一个IThings的集合,我想HierarchicalDataTemplate为 a创建一个TreeView。直接DataType={x:Type local:IThing}的当然行不通,可能是因为 WPF 创建者不想处理可能的歧义。

由于这应该同时处理IThing来自不同来源的 s,因此引用实现类是不可能的。

当前解决方案

现在我正在使用一个 ViewModel,它通过一个具体的实现来代理 IThing:

public interface IThing {
    string SomeString { get; }
    ObservableCollection<IThing> SomeThings { get; }
    // many more stuff
}

public class IThingViewModel
{
     public IThing Thing { get; }
     public IThingViewModel(IThing it) { this.Thing = it; }
}

<!-- is never applied -->
<HierarchicalDataTemplate DataType="{x:Type local:IThing}">

<!-- is applied, but looks strange -->
<HierarchicalDataTemplate
    DataType="{x:Type local:IThingViewModel}"
    ItemsSource="{Binding Thing.SomeThings}"> …
Run Code Online (Sandbox Code Playgroud)

wpf templates types interface

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

PHP可以更快地处理/更容易在PHP中使用; XML或JSON,以及file_get_contents还是cURL?

有什么理由我应该选择JSON而不是XML,反之亦然?在处理数据馈送时优化性能的提示也很受欢迎!

php xml json

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

如何将HTML表格刮到CSV?

问题

我在工作中使用了一个工具,可以让我查询并获取HTML信息表.我没有任何类型的后端访问权限.

如果我可以将它放入电子表格进行排序,平均等,那么很多这些信息会更有用.如何将这些数据屏蔽到CSV文件?

我的第一个想法

因为我知道jQuery,我想我可能会用它去除屏幕上的表格格式,插入逗号和换行符,然后将整个混乱复制到记事本中并另存为CSV.有更好的想法吗?

解决方案

是的,伙计们,它真的像复制和粘贴一样容易.我不觉得傻.

具体来说,当我粘贴到电子表格中时,我必须选择"选择性粘贴"并选择"文本"格式.否则它会尝试将所有内容粘贴到单个单元格中,即使我突出显示整个电子表格也是如此.

screen-scraping

40
推荐指数
5
解决办法
8万
查看次数

WPF ListBox绑定到项目的索引

将一些东西绑定到ListBox的SelectedIndex很容易,但我希望ListBox中的每个项都能够绑定到列表中的索引.

可能听起来很奇怪,所以这就是我要做的事情:

<DataTemplate x:Key="ScenarioItemTemplate">
<Border
    Margin="8,2,8,2"
    Background="#FF3C3B3B"
    BorderBrush="#FF797878"
    BorderThickness="2"
    CornerRadius="5">
    <DockPanel>
        <DockPanel DockPanel.Dock="Top" Margin="0,2,0,0">
            <Label HorizontalAlignment="Left"
                   DockPanel.Dock="Left"
                   FontWeight="Heavy"
                   Foreground="White"
                   Content="{Binding Path=Position}"
                   MinWidth="50"/>

            <Label
                   Content="{Binding Path=Name}"
                   DockPanel.Dock="Left"
                   FontWeight="Heavy"
                   Foreground="white"/>
            <Label 
                   Content="{Binding Path=Header}"
                   Foreground="white"
                   DockPanel.Dock="Left"/>

            <TextBlock HorizontalAlignment="Right" 
                       Background="#FF3C3B3B" 
                       DockPanel.Dock="Left" Foreground="White" FontWeight="Heavy">
                <Hyperlink Click="CloseHyperlink_Click" Tag="">X</Hyperlink>
            </TextBlock>
Run Code Online (Sandbox Code Playgroud)

我想将超链接的TAG属性绑定到相关项的索引.因此,当用户单击超链接时,我可以使用该超链接的TAG属性确定导致事件的项目.

var hyperlink = (Hyperlink)sender;
var index = Convert.ToInt32(hyperlink.Tag);
Run Code Online (Sandbox Code Playgroud)

建议?

data-binding wpf datatemplate

7
推荐指数
1
解决办法
8106
查看次数

用于实时监控ASP.NET Web应用程序的工具和方法?

我认为当用户告诉他们"应用程序很慢(再次)"时,许多开发人员都会感到不舒服.

在复杂的Web应用程序中,(感知的)性能下降可能许多可能的原因:数据库响应缓慢,带宽问题,缓存不良等.在开发或登台环境中肯定会出现问题.

现在我的问题:

是否有一组工具和/或方法可以以可视方式(而不仅仅是性能计数器)在IIS/ASP.NET/SQL Server生产系统上提供全面的"实时"状态:

  • 当前的HTTP请求(比如说最后n分钟)
  • 例外/超时
  • 带宽数据
  • 打开的数据库连接/数据库调用的数量
  • ...

主要目标是一目了然(或仔细观察)导致性能问题的问题.

asp.net performance monitoring production

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

Drb和"被回收的对象"例外

我正在经历一个奇怪的问题.我的控制器调用drb对象

@request_handler = DRbObject.new(nil, url)
availability_result = @request_handler.fetch_availability(request, @reservation_search, params[:selected_room_rates])
Run Code Online (Sandbox Code Playgroud)

这个Drb对象正在进行一些搜索.

但有时候,在linux环境中,我得到了一个带有这个堆栈跟踪的"0xdba87b30是回收对象"

--- 
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:375:in `_id2ref'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:375:in `to_obj'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1402:in `to_obj'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1704:in `to_obj'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:613:in `recv_request'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:911:in `recv_request'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1530:in `init_with_client'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1542:in `setup_message'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1494:in `perform'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1589:in `main_loop'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1585:in `loop'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1585:in `main_loop'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1581:in `start'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1581:in `main_loop'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1430:in `run'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1427:in `start'
- (druby://10.254.143.159:9001) /usr/lib/ruby/1.8/drb/drb.rb:1427:in …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails drb

7
推荐指数
1
解决办法
1308
查看次数

如何在多线程应用程序中安全地填充数据和Refresh()DataGridView?

我的应用程序有一个DataGridView对象和一个MousePos类型的List.MousePos是一个自定义类,它包含鼠标X,Y坐标("Point"类型)和此位置的运行计数.我有一个线程(System.Timers.Timer)每秒引发一次事件,检查鼠标位置,添加和/或更新此列表上鼠标位置的计数.

我想有一个类似的运行线程(再次,我认为System.Timers.Timer是一个不错的选择),这将再次引发一次事件一次自动Refresh()DataGridView,以便用户可以看到数据屏幕更新.(就像TaskManager一样.)

不幸的是,调用DataGridView.Refresh()方法会导致VS2005停止执行,并注意到我遇到了跨线程的情况.

如果我理解正确,我现在有3个主题:

  • 主UI线程
  • MousePos List线程(Timer)
  • DataGridView刷新线程(计时器)

为了看看我是否可以在主线程上刷新()DataGridView,我在表单中添加了一个名为DataGridView.Refresh()的按钮,但是这个(奇怪地)没有做任何事情.我发现了一个似乎表明如果我设置DataGridView.DataSource = null并返回到我的List的主题,它会刷新数据网格.确实这有效,但只能通过按钮(在主线程上处理).


所以这个问题变成了两个问题:

  1. 将DataGridView.DataSource设置为null并返回到我的List是一种可接受的刷新数据网格的方法吗?(对我来说似乎效率低下......)
  2. 如何在多线程环境中安全地执行此操作?

这是我到目前为止编写的代码(C#/.Net 2.0)

public partial class Form1 : Form
{
    private static List<MousePos> mousePositionList = new List<MousePos>();
    private static System.Timers.Timer mouseCheck = new System.Timers.Timer(1000);
    private static System.Timers.Timer refreshWindow = new System.Timers.Timer(1000);

    public Form1()
    {
        InitializeComponent();
        mousePositionList.Add(new MousePos());  // ANSWER! Must have at least 1 entry before binding to DataSource
        dataGridView1.DataSource = mousePositionList;
        mouseCheck.Elapsed += new System.Timers.ElapsedEventHandler(mouseCheck_Elapsed);
        mouseCheck.Start();
        refreshWindow.Elapsed += new System.Timers.ElapsedEventHandler(refreshWindow_Elapsed);
        refreshWindow.Start();
    }

    public void mouseCheck_Elapsed(object source, …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading delegates datagridview

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

可以在IE7中更改滚动条的宽度(滚动DIV)

有没有办法在滚动div上更改水平滚动条的整个宽度(包括微调箭头和手柄).

编辑:我只需要一个IE7解决方案 - 它是在触摸屏终端上滚动DIV

谢谢

马特

html css internet-explorer

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

在运行时扫描Java注释

搜索带注释类的整个类路径的最佳方法是什么?

我正在做一个库,我想允许用户注释他们的类,所以当Web应用程序启动时,我需要扫描整个类路径以获取某些注释.

你知道一个库或Java工具吗?

编辑:我正在考虑类似Java EE 5 Web服务或EJB的新功能.您使用@WebServiceor 注释您的类,@EJB并且系统在加载时查找这些类,以便远程访问它们.

java annotations classloader

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

ASP.NET中的<%#Bind("")%>和<%#Eval("")%>有什么区别?

我已经看到bind和eval可以互换使用,尤其是在ASP.NET GridViews中.有什么不同?

asp.net data-binding

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