小编Jam*_*ndy的帖子

如何在变量值改变时触发事件?

我目前正在使用Visual Studio在C#中创建一个应用程序.我想创建一些代码,以便当变量的值为1时,执行某段代码.我知道我可以使用if语句,但问题是该值将在异步进程中更改,因此从技术上讲,if语句可以在值更改之前被忽略.

是否可以创建事件处理程序,以便在变量值更改时触发事件?如果是这样,我该怎么做?

完全有可能我误解了if语句是如何工作的!任何帮助将非常感激.

c# silverlight event-handling visual-studio windows-phone-7

90
推荐指数
5
解决办法
17万
查看次数

在Xamarin.Forms中将HeightRequest设置回Auto

在Xamarin.Forms中,我希望能够设置控件的确切高度,该控件的高度最初仅使用VerticalLayoutOptions(在本例中为FillAndExpand)确定,然后在稍后的位置,将控件的高度重置为自动确定.

在普通的XAML中,可以通过double.Nan执行此操作,但执行以下操作会导致抛出异常:

control.HeightRequest = double.NaN
Run Code Online (Sandbox Code Playgroud)

你如何将HeightRequest设置为自我决定?

xaml xamarin xamarin-studio xamarin.forms

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

在屏幕上相对于网格Windows Phone查找Button/UIElement的位置

我找不到一种方法来获取屏幕控制的(x,y)坐标中的位置,就像相对于它内部网格的按钮一样.有没有办法做到这一点,我忽略了?

c# silverlight windows-phone-7 uielement

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

按 F5 使用 VS Code 调试 Python 模块

我的项目结构如下:

Project Folder
--setup.py
----Module Folder
------ __init__.py
------ __main__.py
Run Code Online (Sandbox Code Playgroud)

我的__main__.py文件包含我的应用程序的入口点,安装文件的配置如下:

from setuptools import setup

setup(name='my_project',
      version='0.1.0',
      packages=['my_project'],
      entry_points={
          'console_scripts': [
              'my_project= my_project.__main__:main'
          ]})
Run Code Online (Sandbox Code Playgroud)

这意味着我可以在不附加调试器的情况下运行我的代码,使用:

python -m my_project
Run Code Online (Sandbox Code Playgroud)

I've tried debugging using VS Code by navigating to my __main__.py file and pressing F5 to run but this doesn't work and throws an exception. How do I configure Visual Studio Code to run this module in debug mode? Also how do I ensure the program also runs the module …

python visual-studio-code

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

将包含图像的流保存到Windows Phone 8上的本地文件夹

我目前正在尝试保存包含我从相机返回到本地存储文件夹的jpeg图像的流.正在创建文件,但遗憾的是根本不包含任何数据.这是我正在尝试使用的代码:

public async Task SaveToLocalFolderAsync(Stream file, string fileName)
{
  StorageFolder localFolder = ApplicationData.Current.LocalFolder;
  StorageFile storageFile = await localFolder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);

  using (IRandomAccessStream fileStream = await storageFile.OpenAsync(FileAccessMode.ReadWrite))
  {
    using (IOutputStream outputStream = fileStream.GetOutputStreamAt(0))
    {
      using (DataWriter dataWriter = new DataWriter(outputStream))
      {
        dataWriter.WriteBytes(UsefulOperations.StreamToBytes(file));
        await dataWriter.StoreAsync();
        dataWriter.DetachStream();
      }
      await outputStream.FlushAsync();
    }
  }
}

public static class UsefulOperations
{
  public static byte[] StreamToBytes(Stream input)
  {
    using (MemoryStream ms = new MemoryStream())
    {
      input.CopyTo(ms);
      return ms.ToArray();
    }
  } 
}
Run Code Online (Sandbox Code Playgroud)

任何以这种方式保存文件的帮助都将非常感激 - 我在网上找到的所有帮助都是指保存文本.我正在使用Windows.Storage命名空间,因此它也适用于Windows 8.

c# windows-phone windows-runtime windows-phone-8

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

如何让HttpClient Json序列化程序忽略空值

我目前正在使用一个控制台应用程序,我正在使用HttpClient与Apache CouchDB数据库进行交互.我正在使用这篇文章:http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client

当我通过PostAsJsonSync序列化并将文档发送到我的数据库时,我想忽略我的类中的null属性,但我不确定如何:

public static HttpResponseMessage InsertDocument(object doc, string name, string db)
    {
      HttpResponseMessage result;
      if (String.IsNullOrWhiteSpace(name)) result = clientSetup().PostAsJsonAsync(db, doc).Result;
      else result = clientSetup().PutAsJsonAsync(db + String.Format("/{0}", name), doc).Result;
      return result;
    }

    static HttpClient clientSetup()
    {
      HttpClientHandler handler = new HttpClientHandler();
      handler.Credentials = new NetworkCredential("**************", "**************");
      HttpClient client = new HttpClient(handler);
      client.BaseAddress = new Uri("*********************");
      //needed as otherwise returns plain text
      client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
      return client;
    }
Run Code Online (Sandbox Code Playgroud)

这是我正在序列化的课程....

class TestDocument
  {
    public string Schema { get; set; } …
Run Code Online (Sandbox Code Playgroud)

.net c# json

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

可拖动的图钉窗口电话7 bing地图控制

只是想知道如何在windows phone 7应用程序中为地图编程可拖动图钉有任何合适的资源.我看起来很好看,只能找到有关如何为浏览器应用程序执行此操作的信息.

理想情况下,我希望用户能够点击图钉并将其拖动到地图上的某个位置,但是,我可以想到这样做的唯一方法是让用户拖动地图并且图钉保留在地图的中心.

c# silverlight bing-maps windows-phone-7

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

应用程序退出后,独立存储应用程序设置不会保留

使用WP7隔离存储和应用程序设置时遇到了很大问题.我一直在使用Adam Nathan的101个Windows Phone 7应用程序第1卷中的代码作为基础.

我有一个设置页面,其中值可以更改,而应用程序仍在运行时,这些仍保持活动状态,这一切都完美无缺.但是,只要应用程序退出我的开发人员手机,它们就会丢失,应用程序会使用默认设置重新启动.

我不知道为什么这些值不会持续存在.任何帮助将非常感激.

这是我得到的代码,它来自亚当娜坦的新书.我在twitter上给他发了一条消息,他说这与一个不可序列化的数据类型有关.我调查了这个,但我只使用double和bool值.

public class Setting<T>
{
    string name;
    T value;
    T defaultValue;
    bool hasValue;

    public Setting(string name, T defaultValue)
    {
        this.name = name;
        this.defaultValue = defaultValue;
    }

    public T Value
    {
        get
        {
            //checked for cached value
            if (!this.hasValue)
            {
                //try to get value from isolated storage
                if (IsolatedStorageSettings.ApplicationSettings.TryGetValue(this.name, out this.value))
                {
                    //not set yet
                    this.value = this.defaultValue;
                    IsolatedStorageSettings.ApplicationSettings[this.name] = this.value;
                }

                this.hasValue = true;
            }

            return this.value;
        }

        set
        {
            //save value to isolated …
Run Code Online (Sandbox Code Playgroud)

silverlight isolatedstorage windows-phone-7 c#-4.0

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

在PCL中将字符串资源添加到.resx会​​导致编译错误

我的便携式类库中有一个资源文件,目前大约有30个字符串.可以从我的Windows Phone 8应用程序访问它们,并且文件中已有的字符串可以正常工作.

但是,现在当我尝试添加一个新字符串时,它会导致编译错误:

'System.Type'不包含'Assembly'的定义,并且没有扩展方法'Assembly'接受类型'System.Type'的第一个参数可以找到(你是否缺少using指令或汇编引用?)

查看.designer.cs文件,很明显这就是问题所在.添加新字符串时会发生两次更改:

  • 使用System.Reflection; 消失
  • `global :: System.Resources.ResourceManager("ViewModels.Resources.StringResources",typeof(StringResources).Assembly); 出现代替:

    new global :: System.Resources.ResourceManager("ViewModels.Resources.StringResources",typeof(StringResources).GetTypeInfo().Assembly);

.GetTypeInfo()和使用语句消失是问题,但我无法将它们放回去,因为该文件是由visual studio生成并更改回来的.有任何想法吗?

我能想到的唯一重大变化是新的Visual Studio 2012更新2?

另外值得注意的是: 如果我在项目中的任何其他位置添加另一个resx(wp8 app或另一个pcl),那么在添加字符串时它会表现出完全相同的行为.

.net c# visual-studio portable-class-library

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

在Windows Phone上编辑/删除Exif图像数据

我正在使用优秀的ExifLib从Windows Phone 8上的图像中提取Exif数据(http://www.codeproject.com/Articles/36342/ExifLib-A-Fast-Exif-Data-Extractor-for-NET-2 -0).但是,由于隐私限制,我需要能够从用户照片库导入的图像中删除GPS exif数据.

不幸的是我无法找到一种方法来轻松编辑或删除这些数据,我缺少的任何指针或库?

任何帮助将非常感激.

c# exif windows-phone windows-phone-8

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