小编Ste*_*SFT的帖子

TextBox.TextChanged事件在Windows Phone 7模拟器上触发两次

我有一个非常简单的测试应用程序,只是为了玩Windows Phone 7.我刚刚添加了一个TextBox和一个TextBlock标准的UI模板.唯一的自定义代码如下:

public partial class MainPage : PhoneApplicationPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private int counter = 0;

    private void TextBoxChanged(object sender, TextChangedEventArgs e)
    {
        textBlock1.Text += "Text changed " + (counter++) + "\r\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

TextBox.TextChanged事件TextBoxChanged在XAML中连接到:

<TextBox Height="72" HorizontalAlignment="Left" Margin="6,37,0,0"
         Name="textBox1" Text="" VerticalAlignment="Top"
         Width="460" TextChanged="TextBoxChanged" />
Run Code Online (Sandbox Code Playgroud)

但是,每当我在模拟器中运行时按一个键(屏幕键盘或物理键盘,按下Pause以启用后者),它会使计数器递增两次,显示两行TextBlock.我尝试的所有东西都表明这个事件真的发射了两次,我不知道为什么.我已经验证它只被订阅了一次 - 如果我在MainPage构造函数中取消订阅,当文本改变时,根本没有任何事情发生(对于文本块).

我在常规的Silverlight应用程序中尝试过等效的代码,并没有在那里发生.目前我没有手机可以重现这一点.我还没有找到任何关于Windows Phone 7中已知问题的记录.

任何人都可以解释我做错了什么,或者我应该将此报告为错误?

编辑:为了减少这两个文本控件的可能性,我已经尝试TextBlock完全删除,并将TextBoxChanged方法更改为只是增量counter.然后我在模拟器中运行,键入10个字母,然后counter++;在行上放置一个断点(只是为了摆脱闯入调试器导致问题的任何可能性) - 它显示 …

c# silverlight xaml textbox windows-phone-7

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

TextBox绑定TwoWay不会更新,直到焦点丢失WP7

我有一个页面,其中包含一些用于数据输入的文本框.文本框的绑定设置为TwoWay.如果文本框失去焦点,则视图模型中的数据仅会更新.如果单击某个按钮(例如"保存"),并且文本框仍具有焦点,则在保存事件的视图模型中不会更改文本框中的更改.

有没有办法让绑定在失去焦点之前保存文本框的值?或者我是否需要在保存事件中执行某些操作?

data-binding silverlight xaml windows-phone-7

43
推荐指数
6
解决办法
2万
查看次数

如何使用通用Windows平台(UWP)应用程序执行流程命令(或类似)?

我正在努力创建自定义Cortana命令.使用通用Windows平台应用程序注册和执行命令.(GitHub的)

例如,我已经注册了以下命令

<Command Name="ShutDown">      
  <ListenFor>Shut down</ListenFor>
  <Navigate/>    
</Command>
Run Code Online (Sandbox Code Playgroud)

在UWP应用程序中运行此功能

static async void ShutDown()
{
    var dialog = new MessageDialog("This is where I would shut the computer down.");
    await dialog.ShowAsync();
    //System.Diagnostics.Process.Start("Shutdown", "-s -t 10");
}
Run Code Online (Sandbox Code Playgroud)

但是在设置之后System.Diagnostics.Process,UWP不支持我学到的东西.

我想运行的自定义命令涉及某种执行,例如启动外部程序,运行其他脚本或打开网站.

UWP不支持它们是有意义的,因为它是通用的,XBox或手机可能无法做到这些,但我希望在Windows 10 PC上有一些替代或黑客的方法来实现这一点.

我有办法Process在UWP应用程序中执行命令或具有类似功能的其他东西吗?似乎即使我可以让Cortana执行我的C#代码,UWP也不支持在这种情况下有用的东西.

提前致谢.

c# win-universal-app cortana windows-10 uwp

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

UWP启用本地网络环回

我写了一个UWP-App,在生成并安装了.appxbundle之后,每次启动App都会得到一个net_http_client_execution_error.在Visual Studio 2015中启动时,应用程序正在启动并正常运行.因此,如果我调试应用程序,我就没有机会解决问题.

更新:
默认情况下,Windows会限制应用程序访问localhost(127.0.0.1).我在那里运行沙发数据库.这个沙发数据库也应该在那里为我们的客户运行.是否可以允许应用程序访问localhost(启用本地网络环回)?

c# win-universal-app uwp

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

如何隐藏PivotItem?

我有一个带Pivot控件的页面,在某些情况下我不想显示特定的内容PivotItem.
设置Visibility为折叠似乎根本不会影响它.

有什么建议?

silverlight xaml pivot windows-phone-7

15
推荐指数
3
解决办法
9354
查看次数

使用指向可执行文件的"fullTrustProcess"创建应用程序包时出错

我正在尝试使用UWP应用程序部署示例应用程序以桥接AppServices.该示例运行并构建得很好但是当我尝试按照指南打包整个事情时它给了我一个错误.

链接到包装指南

这里是AppService Bridge示例存储库.

错误信息:

 Error Manifest validation error: Line 36, Column 64, Reason: The file name  "BackgroundProcess.exe" declared for element "*[local-name()='Applications']/*[local-name()='Application']/*[local-name()='Extensions']/*[local-name()='Extension' and @Category='windows.fullTrustProcess']" doesn't exist in the package.
Run Code Online (Sandbox Code Playgroud)

我发现代码片段生成错误,但我还没有找到它的修复程序.

如果我从文件Package.appxmanifest中删除以下代码,Visual studio将成功构建包:

<Extensions>
  <uap:Extension Category="windows.appService">
    <uap:AppService Name="CommunicationService" />
  </uap:Extension>
  <desktop:Extension Category="windows.fullTrustProcess" Executable="BackgroundProcess.exe" />
</Extensions>
Run Code Online (Sandbox Code Playgroud)

但这显然也会消除过程中的桥接,这是本练习的重点.

这似乎与这个问题有些相关,但不同之处在于我有一个.exe,而这个问题似乎是为.dll解答的:

为商店构建通用应用程序时出错:"清单引用文件'MyAppName.dll',它不是有效负载的一部分."

(更新UWP工具似乎没有解决它.)

c# xaml uwp windows-10-universal desktop-bridge

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

如何从Windows 10 UWP应用程序连接到SQL Server数据库

我正在尝试从通用Windows应用程序连接到本地MS SQL数据库.我正在使用UWP制作LOB应用程序,以支持桌面,平板电脑和移动使用.当尝试连接到本地(Intranet)SQL Server数据库时,我习惯使用SqlConnection的实例连接到本地服务器,但由于SqlConnection不包含在UWP中使用的.NET子集中,如何完成什么时候使用UWP?

我查看了官方的Microsoft示例以及操作指南,并且没有发现任何关于不是Azure数据库的数据库连接.DbConnection似乎是一个很好的方法,但不能使用,因为它是抽象的,并且它的子代(例如Data.SqlClient.SqlConnection)似乎不包含在UWP的.NET子集中.

我错过了一些非常明显的东西吗?顺便说一下,有没有人知道UWP的良好命名空间参考?

编辑非重复:建议重复的链接问题适用于Windows 8/8.1应用程序,虽然有一些相似之处,但该问题的已接受答案中的代码将无法在UWP上运行.但原则是相同的,但对于使用UWP构建的Windows 10应用程序应该有更好的技术参考.

c# sql-server win-universal-app windows-10 uwp

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

如何从使用"Project Centennial converter"转换为UWP的Win32应用程序访问Windows.Services.Store命名空间以启用应用内购买?

我有一个在VS 2008中开发的原生C++/MFC应用程序,没有.NET的东西,我使用Project Centennial转换器转换为UWP应用程序.所以现在我有一个.appx包在Windows 10 v 1607中作为UWP应用程序运行.

我的下一个目标是在提交到Windows应用商店之前添加应用内购买支持.

问题是如何从本机C或C++代码从纯Win32应用程序访问Windows.Services.Store命名空间?

winapi windows-10 uwp desktop-bridge

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

UWP与非UWP应用之间的通信

是否可以在uwp和非uwp应用程序之间进行通信.我的非uwp是一个提供服务的后台任务.我想在uwp应用程序中调用非uwp服务.

怎么打电话?AppServiceConnection类是否在非uwp应用程序中可用?

win-universal-app windows-10 uwp windows-10-universal desktop-bridge

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

微软的反馈中心现在崩溃我的UWP应用程序

自几个月前推出我的应用程序以来,反馈中心工作得很好.突然,我测试了从我的应用程序中启动它,以便我可以直接进入我的应用程序的反馈中心页面,应用程序崩溃了.那么我在调试模式下启动了我的应用并再次尝试了.该应用程序只是崩溃没有调试信息.

这是否与我更新到10月更新的Windows 10有关?或者也许我将我的应用程序的兼容性扩展到Windows 10 1809(17763)?我喜欢从未触及启动反馈中心的代码,所以这不是我的意思.这是代码:

if (Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.IsSupported())
{
   var feedbackLauncher = Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.GetDefault();
   await feedbackLauncher.LaunchAsync();
}
Run Code Online (Sandbox Code Playgroud)

c# win-universal-app windows-10 uwp windows-10-universal

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