小编tro*_*ous的帖子

反序列化数组不支持JSON反序列化类型

我已经阅读了另外两篇有关反序列化错误的帖子,但我没有得到任何结论,所以我发布了自己的问题.

我有一个返回JSON的WCF服务.在对特定类型进行反序列化时,它会失败.

为了让您轻松复制错误,我将下面的JSON硬编码与调用一起.

基本上你应该能够复制/粘贴下面的代码并看到它失败.

消费者需要将其反序列化为工作对象.s.反序列化失败,并显示标题中指出的错误消息.

注意:我意识到我的JSON中有斜杠.那些是为了方便逃避报价.谢谢.

示例代码:

  var s = new JavaScriptSerializer();

        var jstr =
            "[{\"UserId\":1,\"WorkoutId\":1,\"WorkoutInfo\":[\"Step 1\",\"Step 2\"]},{\"UserId\":2,\"WorkoutId\":2,\"WorkoutInfo\":[\"Step 1a\",\"Step 2a\"]},{\"UserId\":5,\"WorkoutId\":0,\"WorkoutInfo\":[\"new work1\",\"new work 1\",\"new work 1\"]}]";

        Workout blah = s.Deserialize<Workout>(jstr);
        var response = ServicePOST<Workout>("AddUserWorkout", workout);
Run Code Online (Sandbox Code Playgroud)

和锻炼课程:

public class Workout
{
    public int UserId { get; set; }
    public List<string> WorkoutInfo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# wcf serialization json deserialization

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

WPF - Can List <T>可用作dependencyProperty

我有一个简单的搜索文本框.此文本框充当过滤器.我现在已经复制/粘贴了第五次代码,足够了.自定义控件的时间.

左右括号已替换为()

我的自定义控件很简单.我的问题是我希望在此控件上有一个类型为List(T)的dependencyProperty.

我创建了一个测试项目来证明它并确保它有效.它运作良好.忽略列表.

以下是整个班级.问题是,阻止我的唯一事情是用List(T)替换List(Person).类似List的地方:T是Object

typeof(List(T)其中:T是Object)<=显然我不能那样做但是想一想我想要完成什么.

public class SearchTextBox : TextBox
{
    public static readonly DependencyProperty SourceProperty =
        DependencyProperty.Register("FilterSource", typeof(List<Person>), typeof(SearchTextBox), new UIPropertyMetadata(null)); //I WANT THIS TO BE LIST<T>

    public List<Person> FilterSource
    {
        get
        {
            return (List<Person>)GetValue(SourceProperty);
        }
        set
        {
            SetValue(SourceProperty, value);
        }
    }

    public static readonly DependencyProperty FilterPropertyNameProperty =
        DependencyProperty.Register("FilterPropertyName", typeof(String), typeof(SearchTextBox), new UIPropertyMetadata());

    public String FilterPropertyName
    {
        get
        {
            return (String)GetValue(FilterPropertyNameProperty);
        }
        set
        {
            SetValue(FilterPropertyNameProperty, value);
        }
    }

    public SearchTextBox()
    {
        this.KeyUp += new System.Windows.Input.KeyEventHandler(SearchBox_KeyUp);
    }

    void SearchBox_KeyUp(object …
Run Code Online (Sandbox Code Playgroud)

generics reflection collections wpf dependency-properties

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

通过批处理文件卸载驱动程序

我正在寻找有关是否有Windows标准方法来实现此目的的信息?

基本上我们有一个供应商更新了他们的驱动程序,运行我们软件的设备必须自动更新.

为此,我们必须首先卸载现有的驱动程序(供应商要求).

关于最佳做法/方法的任何指导.为什么需要这样做的细节可能并不重要.它只需要完成.

此外,样本也非常有用.

谢谢

windows uninstall driver batch-file runonce

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

AWS IOT - aws-iot-device-sdk mqtt 过早关闭

有一个 Cordova 应用程序试图将一些数据传输到 AWS-IOT。我正在将 aws-iot-device-sdk 用于 javascript https://docs.aws.amazon.com/iot/latest/developerguide/iot-sdks.html#iot-javascript-sdk

发送的数据是简单的 JSON。我遇到的问题是仅在 Android 上...有些设备可以工作,有些设备则不能。在工作的设备上,数据发布到主题就好了,我可以查看它。这些似乎是运行 Android 4.4 的设备,但我不相信这是问题所在。

不工作的设备正在运行更新版本的 Android。

在 mqtt 的错误回调中,我看到以下内容:

错误:错误:过早关闭 index.js:775 连接丢失 - 将在 2 秒内尝试重新连接...

我的问题是有人见过/听说过吗?我已经研究了几天,但我不确定如何解决/解决这个问题。

有些设备可以工作,有些则不能……相同的代码库,相同的 .apk

很高兴提供更多细节。不要认为代码片段在这里真的很重要,但如果你想要一些,我可以添加它。

javascript amazon-web-services mqtt aws-iot

5
推荐指数
0
解决办法
680
查看次数

WPF - 路径几何...有没有办法绑定数据属性?

我有一个ControlTemplate作为AdornerLayer给定控件的"泡泡"弹出窗口.

它工作正常但我需要能够计算它应该显示的位置(中间/底部).

代替:

<Path Stroke="Black" Fill="Black" Data="M 15 20 L 15 0 33 20" Margin="0 1 0 0"/>
Run Code Online (Sandbox Code Playgroud)

我正在寻找(显然这不起作用,但它说明了我正在努力实现的目标:

<Path Stroke="Black" Fill="Black" Data="M {TemplateBinding Left} 20 L 15 0 33 20"/>
Run Code Online (Sandbox Code Playgroud)

可以用一个ValueConverter吗?我出于某种原因无法想象解决方案.我也愿意接受替代方案.

感谢阅读,如果我可以提供更多信息,请询问.

data-binding wpf geometry xaml path

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

在WPF中获取鼠标下的逻辑UIElement

似乎在Mouse下检索元素的所有方法都与Visual Hit测试有关.

是否有一些我缺少的机制可以让我抓住实际UIElement代表HitTest返回的当前可视树?

我正在做的总结:

我有一个自定义工具提示类,它依赖于基于鼠标结束的UIElement做的事情.

简单地说,它挂钩到拥有Window的PreviewMouseMove事件并更新"当前项目".此当前项应表示UIElement鼠标当前位于顶部.

不幸的是,我所遇到的一切Mouse.DirectlyOver,VisualTreeHelper.HitTest(包括回调)不起作用.

任何人都可以提供有关如何在Window MouseMove事件中的WPF中完成看似简单的任务的见解吗?

wpf mouse visualtreehelper event-bubbling ismouseover

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

MouseDown,PreviewMouseDown等...以及MVVM中的COMMAND绑定

我试图理解这个概念而且它正在逃避我.

这背后的一般概念是什么?我知道这是可能的,但我并没有完全按照我的研究/自己的测试项目来完成这项工作.

我想在我的视图中不惜一切代价避免代码.我想从View中分离诸如"PreviewMouseDown"之类的事件,并让它们在ViewModel中触发一个Command.

谁能给我一些关于如何实现这一目标的基本指导?

摘要:

View(PreviewMouseDown) - >在ViewModel中调用命令(MyPreviewMouseDownCommand)

谢谢

wpf binding command mvvm mousedown

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

如何将KeyValuePair作为参数传递给Command_Executed?

看似简单的概念却无法超越这个.

我有一个命令... _Executed方法接收KeyValuePair(类型无关紧要),因为它是参数.

myCommand_Executed(object sender, ExecutedRoutedEventArgs e)
    {
        KeyValuePair<System.Type, MyCustomArgs> kvp = e.Parameter as KeyValuePair<Type, MyCustomArgs>;
:
:
:
}
Run Code Online (Sandbox Code Playgroud)

不能这样做,因为它不可空.我该如何做到这一点?我想从e.Parameter中提取KeyValuePair.

欣赏任何见解,并在必要时愉快地发布更多代码/信息.

.net c# wpf command eventargs

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

获取UIElement或发件人的背景

我正在尝试找到一种在UIElement上设置Background属性的通用方法.

我运气不好......

这是我到目前为止(尝试使用反射来获取BackgroundProperty).

  Action<UIElement> setTheBrushMethod = (UIElement x) =>
  {
    var brush = new SolidColorBrush(Colors.Yellow);
    var whatever = x.GetType().GetField("BackgroundProperty");
    var val = whatever.GetValue(null);
    ((UIElement)x).SetValue(val as DependencyProperty, brush);
    brush.BeginAnimation(SolidColorBrush.ColorProperty, new ColorAnimation(Colors.White, TimeSpan.FromSeconds(3)));
  };
  setTheBrushMethod(sender as UIElement);
Run Code Online (Sandbox Code Playgroud)

事情是......它适用于类似TextBlock的东西,但不适用于像StackPanel或Button这样的东西.

对于StackPanel或Button,"whatever"最终为null.

我也觉得应该有一个简单的方法来一般设置背景.我错过了吗?

后台似乎只在System.Windows.Controls.Control上可用,但我无法转换为.

c# wpf background dependency-properties uielement

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

多线程更新表面视图画布

从事咨询项目。最后一分钟的要求是球在屏幕上弹跳(不要问为什么......叹息

不管怎样......这些球是按值分组的。10 个红球价值 100 分。5 个球为蓝色,价值 50 分。5 个绿色球价值 25 分。5 个球为黄色,得 10 分。

在此背景下,我采取的方法是扩展 SurfaceView 并定义 5 个线程,每个线程管理一组特定的球。

每个线程从 SurfaceView 接收相同的 SurfaceHolder。

我选择多线程而不是单线程的原因是管理屏幕上所有球的性能并不是最好的。

OpenGL 目前还不是一个真正的选择。

这是线程类之一的示例。当线程运行时,它会创建一定数量的球。每个球都是随机创建并添加到列表中的。

public class hundred_balls_thread extends base_balls_thread {
    public hundred_balls_thread(SurfaceHolder holder, Context ctext, int radius) {
        super(holder, ctext, radius);
    }

    @Override
    public void run() {
        int x, y, radius;

        while (Calorie_balls.size() <= 21) {

            x = 100 + (int) (Math.random() * (mCanvasWidth - 200));
            y = 100 + (int) (Math.random() * (mCanvasHeight) - …
Run Code Online (Sandbox Code Playgroud)

java multithreading android surfaceview android-canvas

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

在ViewModels之间共享集合

我搜索过,没有什么可以帮助我到达我需要的地方.

我的问题描述:

  1. 我们有一个对话窗口,可以托管多个视图(usercontrols).单击下一步和后退将在此对话框中向前和向后移动,类似于向导.

  2. 在6个对话框中,其中4个引用相同的核心数据.例如,我们将说一个ObservableCollection

  3. 既然如此,我有4个viewModel,它们都需要引用同一个ObservableCollection.每次我进入"向导"对话框中的新步骤时,我都不想保存然后重新加载列表.

我的问题是实现这一目标的最佳/最实用的方法是什么.

以下我考虑过的事情:

  1. 静态类
  2. 辛格尔顿 - 呃
  3. 在视图之间传递参数(尽管这很难,因为nextlocation和previouslocation非常通用).
  4. 调解员模式?调解器模式的问题在于我不想在视图之间"通信".我只是希望所有视图共享相同的数据源.
  5. 观察者模式?如果我正在使用ObservableCollections并实现INotifyPropertyChanged,那么我不需要通知任何人我应该做出改变吗?

请告诉我您可能需要的其他信息来帮助我,我很乐意提供.

我不是在寻找代码示例,因为我正在设计.虽然代码示例可以帮助解释设计,但我全都是为了它.

最后,EventAggregator不是一个选项,因为我没有使用任何框架(除非我没有正确理解EventAggregator).

提前致谢!!

c# wpf mvvm mediator data-sharing

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

将径向渐变设置为画布上圆的背景颜色

我使用.drawCircle在画布上绘制一些圆圈.

我希望该圆的填充颜色为径向渐变(如果不可能,则为线性渐变).

基本上我希望圆圈对它们有一些深度.

我不太清楚如何做到这一点.

我知道我可以将渐变定义为可绘制的,但有没有办法将其设置为绘制圆的背景?

例如,在WPF中,我可以简单地定义一个LinearGradientBrush并定义它的停止点.

上下文的一些代码:

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setStrokeWidth(4);

canvas.drawCircle((float) temp_dot.get_x(),
            (float) temp_dot.get_y(),
            (float) temp_dot.get_radius(),
            paint);
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的时间.

geometry android gradient canvas android-drawable

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