小编use*_*923的帖子

强制刷新文本框

我有一个绑定到字符串属性的普通wpf TextBox控件。我需要在绑定或.Text属性更新后立即更新显示的文本。我试过了

((TextBox)sender).GetBindingExpression(TextBox.TextProperty).UpdateSource();
((TextBox)sender).GetBindingExpression(TextBox.TextProperty).UpdateTarget();
Run Code Online (Sandbox Code Playgroud)

在TextChanged事件处理程序中。

我已经尝试UpdateSourceTrigger=Explicit过绑定。我试过了

Application.Current.Dispatcher.BeginInvoke(
    DispatcherPriority.Input,
     new Action(() =>
     {
         statusTextBox.Text = "newValue";
     }));
Run Code Online (Sandbox Code Playgroud)

以及这些的许多不同组合。但是,仅当我从出口更新文本框的方法后,显示的文本才会更改。

XAML:

<TextBox x:Name="txBox" Height="150" Margin="0,0,0,0" VerticalAlignment="Top" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True"  VerticalContentAlignment="Top" Text="{Binding TextProperty}"Width="200" />
Run Code Online (Sandbox Code Playgroud)

c# wpf textbox

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

C#创建事件处理程序'方法名称预期'错误

所以我有一个专门用于保存事件处理方法的类,我想在其他多个类中使用它:

class MyHandler
{
    public MyHandler()
    {
    }

    public void Method1(object sender, EventArgs e)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

button1.Click += new System.EventHandler(this, MyHandler.Method1);
Run Code Online (Sandbox Code Playgroud)

我收到标题中提到的错误.我在这做错了什么?

c# events

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

Array.ForEach无法根据用法推断数组元素类型

public class MyType
{
    public int SomeProperty { get; set; }
}

public class CustomArray
{
    public MyType this[int index]
    {
        //some code
    }
}

var intList = new List<int>();
var arr = new CustomArray();
Array.ForEach(arr, x => intList.Add(x.MyProperty));
Run Code Online (Sandbox Code Playgroud)

这不会编译说:

方法void System.Array.ForEach(T [],Action)的类型参数无法从用法中推断出来.

怎么可能?

c# arrays lambda

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

设置变量时出现无效的数字错误

我正在使用此线程中的代码来获取明天的日期.它如下:

@echo off

set /a d=%date:~0,2%
set /a m=%date:~3,2%
set /a y=%date:~6,4%

:loop
  set /a d+=1

  if %d% gtr 31 (
    set d=1
    set /a m+=1

    if %m% gtr 12 (
      set m=1
      set /a y+=1
    )
  )
xcopy /d:%m%-%d%-%y% /l . .. >nul 2>&1 || goto loop

echo %d%/%m%/%y%
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无效号码.数字常量为十进制(17),十六进制(0x11)或八进制(021).

虽然在帖子的文字中说:

在为变量赋值时,我们使用SET/A(而不仅仅是SET)来克服尝试在'08'和'09'之后执行八进制算术的问题.这是因为在算术赋值期间会删除前导零.

batch-file

0
推荐指数
1
解决办法
2909
查看次数

确定查询中的操作顺序

说我有这样的查询:

SELECT * 
FROM Foo
WHERE Name IN ('name1', 'name2') 
  AND (Date<'2013-01-01' AND Date>'2010-01-01') 
  AND Type = 1
Run Code Online (Sandbox Code Playgroud)

有没有办法强制SQL服务器按照我确定的顺序评估表达式,而不是查询优化器所说的内容?例如,我希望IN首先评估子句,评估的输出Type = 1和最后的日期,完全是该顺序.

t-sql sql-server sql-server-2008

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

标签 统计

c# ×3

arrays ×1

batch-file ×1

events ×1

lambda ×1

sql-server ×1

sql-server-2008 ×1

t-sql ×1

textbox ×1

wpf ×1