小编Jac*_*obJ的帖子

WPF - 单击文本框外部时删除焦点

我有一些文本框,我希望专注于与WPF应用程序的正常行为略有不同.基本上,我希望他们的行为更像是网页上的文本框行为.也就是说,如果我点击文本框外的任何地方,它将失去焦点.这样做的最佳方法是什么?

如果答案是以编程方式移除焦点,那么在边界外检测Mouseclick的最佳方法是什么?如果我点击的元素将成为焦点的新接收者,该怎么办?

c# wpf focus click

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

我可以使Xcode的调试器以编程方式中断吗?

如果我的iOS程序在调试器中运行,我正在寻找一种方法来使XCode调试器以编程方式从Swift代码中断.这与System.Diagnostics.Debugger.Break()在Visual Studio环境中的工作方式类似.这可能吗?关键是任何打到某个特定代码段的开发人员都要破解,但不会产生导致代码执行永久停止的致命错误.

编辑:这与要求"启用"断点的用户略有不同(尽管该问题中提供的答案确实是我正在寻找的).我还在寻找可以在没有互操作,桥接标题等的情况下在Swift中完成的事情.

debugging xcode ios swift

14
推荐指数
2
解决办法
2726
查看次数

什么是优秀的C/C++算法,用于通过抖动将24位位图转换为16位?

我一直在寻找一种优化(即快速)算法,该算法使用抖动将24位RGB位图转换为16位(RGB565)位图.我正在寻找C/C++中的东西,我可以实际控制如何应用抖动.GDI +似乎提供了一些方法,但我不知道它们是否会抖动.并且,如果他们做了抖动,他们使用什么机制(Floyd-Steinberg?)

有没有人有一个很好的位图颜色深度转换与抖动的例子?

c c++ gdi+ bitmap dithering

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

动画填充画布中路径的颜色

我试图弄清楚如何设置画布内部某些路径的填充颜色的动画,这些路径位于ViewBoxes中,因此它们会被拉伸.我的目标是将这些路径的填充颜色从NormalBrush颜色更改为HoverBrush颜色.我想在Canvas的IsMouseOver值为true时执行此操作.但是,我不能为我的生活想出一个风格来做到这一点.Canvas没有Template属性.我无法在Style中的触发器上定义TargetName.

<UserControl x:Class="MyProject.PlaylistCommandControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             mc:Ignorable="d"
             d:DesignHeight="294"
             d:DesignWidth="35">
    <UserControl.Resources>
        <ResourceDictionary>
            <SolidColorBrush x:Key="HoverBrush"
                             Color="#FF86A9CE" />
            <SolidColorBrush x:Key="NormalBrush"
                             Color="#FF626F80" />            

            <Canvas x:Key="AddCanvas"
                    x:Name="AddCanvas"
                    Height="30.066"
                    Canvas.Left="291.149"
                    Canvas.Top="381.407"
                    Width="30.054">
                <Path Data="F1M319.8262,392.751L309.8772,392.751L309.8772,382.733L302.4902,382.733L302.4902,392.751L292.9572,392.751L292.9572,400.145L302.4902,400.145L302.4902,409.883L309.8772,409.792L309.8772,400.145L319.8262,400.145z"
                      Name="AddPath"
                      Fill="#FF626F80"
                      Stroke="#13151B"
                      StrokeThickness="1"
                      Height="27.15"
                      Canvas.Left="1.808"
                      Stretch="Fill"
                      Canvas.Top="1.326"
                      Width="26.869" />
            </Canvas>

            <Canvas x:Key="SubtractCanvas"
                    Height="9.673"
                    Canvas.Left="290.972"
                    Canvas.Top="358.879"
                    Width="30.055">
                <Path Data="F1M319.649,367.423L292.779,367.423L292.779,360.03L319.649,360.03z"
                      Fill="#FF626F80"
                      Stroke="#13151B"
                      StrokeThickness="1"
                      Height="7.393"
                      Canvas.Left="1.807"
                      Stretch="Fill"
                      Canvas.Top="1.151"
                      Width="26.87">
                </Path>
            </Canvas>

        </ResourceDictionary>
    </UserControl.Resources>
    <Border CornerRadius="0,4,4,0"
            Margin="0,0,10,0"
            Background="#0AFFFFFF"
            BorderBrush="#FF3C444F"
            BorderThickness="0,1,1,1"
            VerticalAlignment="Center"
            HorizontalAlignment="Left">
        <StackPanel>
            <Viewbox Name="AddFilesViewbox"
                     Stretch="Uniform"
                     Height="15"
                     Width="15"
                     Margin="5"
                     Child="{StaticResource AddCanvas}"
                     MouseDown="AddFilesViewbox_MouseDown" />
            <Viewbox …
Run Code Online (Sandbox Code Playgroud)

wpf canvas path coloranimation

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

在 iOS 上的日志文件开头修剪行的快速方法

我正在寻找一种快速、优化的方式来修剪 iOS 上的日志文件。我想指定我的日志文件具有最大行数(例如,10,000)。在文本文件的末尾追加新行似乎相对简单。但是,我还没有找到在文件开头修剪线条的快速方法。这是我想出的(慢)代码。

    guard let fileURL = self.fileURL else {
        return
    }

    guard let path = fileURL.path else {
        return
    }

    guard let fileHandle = NSFileHandle(forUpdatingAtPath: path) else {
        return
    }

    fileHandle.seekToEndOfFile()
    fileHandle.writeData(message.dataUsingEncoding(NSUTF8StringEncoding)!)
    fileHandle.writeData("\n".dataUsingEncoding(NSUTF8StringEncoding)!)

    currentLineCount += 1

    // TODO: This could probably use some major optimization
    if currentLineCount >= maxLineCount {
        if let fileString = try? NSString(contentsOfURL: fileURL, encoding: NSUTF8StringEncoding) {
            var lines = fileString.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet())
            lines.removeFirst()
            let newData = lines.joinWithSeparator("\n")
            fileHandle.seekToFileOffset(0)
            fileHandle.writeData(newData.dataUsingEncoding(NSUTF8StringEncoding)!)
        }
    }

    fileHandle.closeFile()
Run Code Online (Sandbox Code Playgroud)

file-io logging ios swift

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

Why can't I add attributes when serializing ObservableCollection&lt;T&gt;?

我正在尝试使用一些自定义属性扩展 ObservableCollection 并对其进行序列化。但是,我似乎无法让它序列化这些属性。我正在使用 .NET 4.0,他们修复了 ObservableCollection 的序列化问题,但仍然有问题。我的预感是 GetObjectData 是在基类上调用的,而不是我的。有任何想法吗?

[Serializable]
[XmlRoot(ElementName = "MyCollection")]
public class MyCollection : ObservableCollection<MyItem>, ISerializable
{
    private string name;

    void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
    {
        info.AddValue("Name", Name);
    }

    private MyCollection()
    {
        Name = string.Empty;
    }

    public MyCollection(string name)
    {
        Name = name;
    }

    public MyCollection(SerializationInfo info, StreamingContext context)
    {
        Name = (string)info.GetValue("Name", typeof(string));
    }

    [XmlAttribute]
    public string Name
    {
        get { return name; }
        protected set
        {
            string originalName = name;
            name = value;
            if (originalName …
Run Code Online (Sandbox Code Playgroud)

wpf inheritance serialization xml-serialization observablecollection

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