小编Gab*_*abe的帖子

WPF依赖属性不起作用

我有一个自定义的依赖属性定义如下:

public static readonly DependencyProperty MyDependencyProperty =
DependencyProperty.Register(
"MyCustomProperty", typeof(string), typeof(MyClass));

    private string _myProperty;
    public string MyCustomProperty
    {
        get { return (string)GetValue(MyDependencyProperty); }
        set
        {
            SetValue(MyDependencyProperty, value);
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我尝试在XAML中设置该属性

<controls:TargetCatalogControl MyCustomProperty="Boo" />
Run Code Online (Sandbox Code Playgroud)

但是DependencyObject中的setter永远不会被击中!虽然我将属性更改为常规属性而不是Dep Prop

.net c# vb.net wpf xaml

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

替换C#中的字符(ascii)

我收到了一个包含以下字符的文件:à,è,ì,ò,ù - À.我需要做的是用普通字符替换那些字符,例如:à= a,è= e等......这是我的代码到目前为止:

StreamWriter sw = new StreamWriter(@"C:/JoinerOutput.csv");
string path = @"C:/Joiner.csv";
string line = File.ReadAllText(path);

if (line.Contains("à"))
{
    string asAscii = Encoding.ASCII.GetString(Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding(Encoding.ASCII.EncodingName, new EncoderReplacementFallback("a"), new DecoderExceptionFallback()), Encoding.UTF8.GetBytes(line)));
    Console.WriteLine(asAscii);
    Console.ReadLine();

    sw.WriteLine(asAscii);
    sw.Flush();
}
Run Code Online (Sandbox Code Playgroud)

基本上,这会在文件中搜索特定字符,并将其替换为另一个字符.我遇到的问题是我的if语句不起作用.我该如何解决这个问题?

这是输入文件的示例:

Dimàkàtso Mokgàlo
Màmà Ràtlàdi
Koos Nèl
Pàsèkà Modisè
Jèrèmiàh Morèmi
Khèthiwè Buthèlèzi
Tiànà Pillày
Viviàn Màswàngànyè
Thirèshàn Rèddy
Wàdè Cornèlius
ènos Nètshimbupfè

如果使用,则输出为:line = line.Replace('à','a'); :

Ch�rl�n� Kirst�n
M�m� R�tl�di
Koos N�l
P�s�k� Modis�
J�r�mi�h Mor�mi
Kh�thiw� Buth�l�zi
Ti�n� Pill�y
Vivi�n M�sw�ng�ny� …

c# ascii

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

Javascript中的十进制度到几分钟和几秒

我试着写一个取小数度(纬度或长度)并将它们转换为DMS度分钟秒的函数.我知道我的意思是将小数点数乘以60然后再次为小数.但我是一个菜鸟.我会分开号码吗?

function ConvertDDToDMS(DD) {
    eg. DD =-42.4
    D= 42;
    M= 4*60;
    S= .M * 60;
    var DMS =

    return DMS //append Direction (N, S, E, W);
}
Run Code Online (Sandbox Code Playgroud)

我是在正确的轨道上吗?

javascript function angle

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

列出Linux中的所有USB驱动器

如何在Linux中获取可移动驱动器列表(插入USB)?我可以使用KDE,GNOME或其他DE库,如果它可以使事情变得更容易.

python linux usb removable-drive

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

LINQ to Entities无法识别方法'System.String ToString()'方法

string[] userIds = userList.Split(','); // is an array of integers
IList<User> users = (from user in this.repository.Users
                     where userIds.Contains(user.Id.ToString())
                     select user).ToList();
Run Code Online (Sandbox Code Playgroud)

以上查询给出

System.NotSupportedException: LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression

我能做什么?

linq-to-entities

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

如何正确返回接口列表类型?

使用以下代码,我在"返回书籍"上收到"无法隐式转换"编译错误.线.

我认为,因为我返回一个实现IPublication的书籍对象列表,这应该工作正常吗?

public interface IPublication {}

public class Book : IPublication {}

public List<IPublication> GetBooks()
{
    List<Book> books = new List<Book>();
    return books;
}
Run Code Online (Sandbox Code Playgroud)

我注意到,如果我将一本书作为单个IPublication对象返回,它可以正常工作.介绍List<>需要显式转换.

作为我正在使用的解决方法:

return books.Cast<IPublication>().ToList();
Run Code Online (Sandbox Code Playgroud)

c# interface list

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

使用Windows API方法签名,结构,常量的Big C#源文件:它们是否都包含在最终的.exe中?

我想将我正在使用的Windows API函数的所有签名放在一个类中的程序中,例如WinAPI,以及我将包含在我的项目中的WinAPI.cs文件中.该类将是内部静态和方法public static extern.(类似.NET Framework源代码中的巨大NativeMethods.cs).

假设WinAPI.cs有一百个本地方法签名,如:

[DllImport("user32.dll")]
internal static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
Run Code Online (Sandbox Code Playgroud)
  1. 如果我只在项目中使用其中一些(甚至一两个),如果我在项目中包含WinAPI.cs文件,那么最终的.exe是否会填充不必要的方法声明我不是使用(其他99左右)?

  2. 原生结构声明如何,如果我没有在当前项目中使用它们,它们是否仍会包含在最终的.exe中?

        [StructLayout(LayoutKind.Sequential)]
        public struct POINT
        {
            public int X;
            public int Y;
        }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 那些常量声明或只读成员如:

    public const int WH_JOURNALPLAYBACK = 1;
    public static readonly int WM_GETTEXT = 0x0D;
    
    Run Code Online (Sandbox Code Playgroud)

c# pinvoke winapi interop external

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

使用不安全与安全的C#代码有什么好处?

unsafe static void SquarePtrParam (int* p) 
   {
      *p *= *p;
   }
Run Code Online (Sandbox Code Playgroud)

VS

static void SquarePtrParam (ref int p) 
   {
      p *= p;
   }
Run Code Online (Sandbox Code Playgroud)

c# unsafe

8
推荐指数
3
解决办法
4900
查看次数

在Perl中,为什么绑定数组这么慢?

在我的测试中,我注意到迭代绑定数组的速度最好是使用内部存取方法(FETCH和FETCHSIZE)的一半.以下基准显示了该问题:

{package Array;
    sub new {
        my $class = shift;
        tie my @array, $class, [@_];
        \@array
    }
    sub TIEARRAY {
        my ($class, $self) = @_;
        bless $self => $class;
    }
    sub FETCH     {$_[0][$_[1]]}
    sub FETCHSIZE {scalar @{$_[0]}}
}

use List::Util 'sum';
use Benchmark 'cmpthese';

for my $mag (map 10**$_ => 1 .. 5) {

    my $array = Array->new(1 .. $mag);
    my $tied  = tied(@$array);
    my $sum   = sum @$array;

    print "$mag: \n";
    cmpthese -2 => { …
Run Code Online (Sandbox Code Playgroud)

perl performance

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

qpainter绘画替代品(性能在Mac上很糟糕)

我有一个类在QWidget中显示音频文件的波形数据(见下面小部件的屏幕截图,然后我仍然使用渐变,这导致性能不佳).

音频数据直接在widget上使用多次调用绘制在paintEvent中QPainter::drawLine(最小调用量QWidget::drawLine相当于widget的宽度=>每个x坐标至少有一行).虽然该方法在Windows上运行良好(全屏的paintEvent大约需要4毫秒),但在MacOS下运行程序时,性能会下降4-5倍.

绘画的性能对于显示数据的流体滚动很重要.

所以我的问题是,有没有人知道更快的QPainter.drawLine替代方案来绘制线条(平台相关的解决方案可能没问题,只要它们可以在paintEvent中使用),或者有没有办法加快滚动,某种缓冲等?

小部件的旧屏幕截图(仍然使用渐变,导致性能不佳)

c++ macos performance qt paint

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